2017-04-11 43 views

回答

0

您可以将角度模块用于linkedIn认证。 angular-social-login

+0

什么更好的办法没有使用这个? –

+0

@SanjanaPrasad:你可以在这里查看文档。 https://developer.linkedin.com/docs/oauth2#如果你不喜欢任何插件。 –

+0

你也可以查看js文件的实现。 https://github.com/jacobwarduk/ng-linkedin-oauth –

0

您可以使用LinkedIn SDK来处理授权和唱歌或脱离用户。

文档:https://developer.linkedin.com/docs/getting-started-js-sdk

  1. 你必须初始SDK。您需要在LinkedIn Developer面板中创建一个应用程序。然后你在那里得到一个API密钥。

然后在您的应用程序中,您必须创建一个将调用LinkedIn API的服务。

事情是这样的:

export class LinkedIn { 
 
    constructor($q, $window) { 
 
     'ngInject'; 
 

 
     this.$q = $q; 
 
     this.$window = $window; 
 
    }; 
 

 
    get() { 
 
     let doc = this.$window.document; 
 
     let script = doc.createElement('script'); 
 
     let deferred = this.$q.defer(); 
 

 
     script.src = 'http://platform.linkedin.com/in.js'; 
 

 
     script.innerHTML = [ 
 
      'api_key: ' + YOUR_API_KEY, 
 
      'authorize: ' + 'true', 
 
      'lang: ' + 'en-US', 
 
      'onLoad: onLinkedInApiLoad', 
 
      'scope: ' + YOUR_APP_SCOPE 
 
     ].join('\n'); 
 
     
 
     this.$window.onLinkedInApiLoad =() => { 
 
      deferred.resolve(this.$window.IN); 
 
     }; 
 
     
 
     doc.body.appendChild(script); 
 

 
     return deferred.promise; 
 
    }; 
 
}

  • 接下来,你需要决定何时要初步这一呼吁。您可以在.run区块中执行该操作,或者使用一些中间件来处理它。之后,您将收到LinkedIn API对象。

  • 当你有你的LinkedIn API对象时,你可以请求授权,检查用户是否已经登录等。选项在文档中描述。您可以授权用户呼叫IN.User.authorize(handler || angular.noop)或注销IN.User.logout(handler || angular.noop)

  • 也有选项来执行事件,其中用户登录的回调或注销例如:

  • IN.Event.on(IN, eventName, callback, callbackScope, extraData); IN.Event.onOnce(IN, eventName, callback, callbackScope, extraData);

    +0

    可以给我角度js服务吗.. –

    +0

    你是什么意思在angularjs服务?我已经给了你一个处理SDK调用的服务。 – Tomasz

    +0

    我想你的服务是在angular2 ..我需要在angular1 –

    相关问题