AngularJS + OAuth

我正在尝试为我的Angular App编写一个login解决scheme,
这意味着允许用户通过Facebok /谷歌/ Twitter或正常login连接。
我发现Angular-OAuth是有用的,但它似乎没有与Facebook(或Twitter)的工作。

任何人都知道这是一个全面的解决scheme?

看看oauth.io

  • 在Javascript中轻松实现
  • 80多个OAuth提供商
  • 快速和安全

这里是一个简单的例子,只是使用angular度jsredirect

以下是如何redirect到身份validation

angular.module('angularoauthexampleApp') .controller('MainCtrl', function ($scope) { $scope.login=function() { var client_id="your client id"; var scope="email"; var redirect_uri="http://localhost:9000"; var response_type="token"; var url="https://accounts.google.com/o/oauth2/auth?scope="+scope+"&client_id="+client_id+"&redirect_uri="+redirect_uri+ "&response_type="+response_type; window.location.replace(url); }; }); 

这是如何处理authentication后的redirect

 angular .module('angularoauthexampleApp', [ ]) .config(function ($routeProvider) { $routeProvider .when('/access_token=:accessToken', { template: '', controller: function ($location,$rootScope) { var hash = $location.path().substr(1); var splitted = hash.split('&'); var params = {}; for (var i = 0; i < splitted.length; i++) { var param = splitted[i].split('='); var key = param[0]; var value = param[1]; params[key] = value; $rootScope.accesstoken=params; } $location.path("/about"); } }) }); 

更完整的信息在这里http://anandsekar.github.io/oauth2-with-angularjs/

freemium oauth.io有一个Free-Open-Source的替代scheme: hello.js

看看Github上的Satellizer项目。 我刚刚开始使用它,看起来很有希望。

它使用JSON Web Tokens,并允许使用:电子邮件+密码,Facebook,Twitter,Google和任何其他OAuth 1.0 / 2.0提供程序进行login。

客户端代码在箱子里面,你必须自己实现服务器端。 许多服务器端语言的工作stream和代码示例都有很好的描述。