Ответ 1
Взгляните на oauth.io
- Простая реализация в Javascript
- 80 + провайдеры OAuth
- Быстрое и безопасное
Я пытаюсь написать решение для входа в приложение Angular,
Это означает, что пользователь может напрямую подключаться через Facebok/Google/Twitter или зарегистрироваться.
Я нашел Angular-OAuth, чтобы быть полезным, но, похоже, он не работал с Facebook (или Twitter).
Кто-нибудь знает о всеобъемлющем решении для этого?
Взгляните на oauth.io
Вот простой пример, используя только переадресацию с помощью angular js
Вот как перенаправить на аутентификацию
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);
};
});
Вот как обрабатывать перенаправление после аутентификации
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/
Существует альтернатива Free-Open-Source для freemium oauth.io: hello.js
Посмотрите проект Satellizer на Github. Я только начинаю с этого, это кажется многообещающим.
Он использует JSON Web Tokens и разрешает логин с: электронной почтой + паролем, Facebook, Twitter, Google и любым другим поставщиком OAuth 1.0/2.0.
Клиентский код работает в этом поле, вам придется самостоятельно реализовать серверную часть. Существуют хорошие описания рабочих потоков и примеров кода для многих серверных языков.