change - AngularJS+OAuth
dynamic title angular 5 (4)
Estoy tratando de escribir una solución de inicio de sesión para mi aplicación angular,
Esto significa que el usuario puede conectarse a través de Facebok / Google / Twitter o registrarse normalmente.
Encontré que Angular-OAuth era útil, pero no parecía funcionar con Facebook (o Twitter).
¿Alguien sabe de una solución todo incluido para esto?
Eche un vistazo a oauth.io
- Fácil implementación en Javascript
- Más de 80 proveedores de OAuth
- Rápido y seguro
Aquí hay un ejemplo simple usando solo redirecciones con js angulares
Aquí está cómo redirigir a la autenticación
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);
};
});
A continuación se explica cómo manejar el redireccionamiento después de la autenticación
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");
}
})
});
Más información completa aquí http://anandsekar.github.io/oauth2-with-angularjs/
Eche un vistazo al proyecto Satellizer en Github. Estoy empezando con esto, parece prometedor.
Utiliza JSON Web Tokens y permite el inicio de sesión con: correo electrónico + contraseña, Facebook, Twitter, Google y cualquier otro proveedor de OAuth 1.0 / 2.0.
El código del lado del cliente resuelve el problema, usted tendrá que implementar el lado del servidor usted mismo. Hay buenas descripciones de los flujos de trabajo y ejemplos de código para muchos idiomas del lado del servidor.