Esta reseña ha sido probado por nuestros especialistas así garantizamos la veracidad de esta crónica.
Solución:
Hay una publicación de blog brillante de Taiseer Joudeh con una descripción detallada paso a paso.
- Parte 1: Autenticación basada en token mediante ASP.NET Web API 2, Owin e Identity
- Parte 2: Autenticación de tokens de AngularJS mediante ASP.NET Web API 2, Owin e Identity
- Parte 3: habilite los tokens de actualización de OAuth en la aplicación AngularJS usando ASP .NET Web API 2 y Owin
- Parte 4: ASP.NET Web API 2 inicios de sesión externos con Facebook y Google en la aplicación AngularJS
- Parte 5: Desacoplar el servidor de autorización OWIN del servidor de recursos
También tuve problemas para encontrar artículos sobre cómo generar solo la parte del token. Nunca encontré uno y escribí el mío. Así que si ayuda:
Las cosas que hacer son:
- Crear una nueva aplicación web
- Instale los siguientes paquetes de NuGet:
Microsoft.Owin
Microsoft.Owin.Host.SystemWeb
Microsoft.Owin.Security.OAuth
Microsoft.AspNet.Identity.Owin
- Agregar un OWIN
startup
clase
Luego crea un HTML y un JavaScript (index.js
) archivo con estos contenidos:
var loginData = 'grant_type=password&[email protected]&password=test123';
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function ()
if (xmlhttp.readyState === 4 && xmlhttp.status === 200)
alert(xmlhttp.responseText);
xmlhttp.open("POST", "/token", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send(loginData);
El OWIN startup
la clase debe tener este contenido:
using System;
using System.Security.Claims;
using Microsoft.Owin;
using Microsoft.Owin.Security.OAuth;
using OAuth20;
using Owin;
[assembly: OwinStartup(typeof(Startup))]
namespace OAuth20
public class Startup
public static OAuthAuthorizationServerOptions OAuthOptions get; private set;
public void Configuration(IAppBuilder app)
OAuthOptions = new OAuthAuthorizationServerOptions()
TokenEndpointPath = new PathString("/token"),
Provider = new OAuthAuthorizationServerProvider()
OnValidateClientAuthentication = async (context) =>
context.Validated();
,
OnGrantResourceOwnerCredentials = async (context) =>
if (context.UserName == "[email protected]" && context.Password == "test123")
ClaimsIdentity oAuthIdentity = new ClaimsIdentity(context.Options.AuthenticationType);
context.Validated(oAuthIdentity);
,
AllowInsecureHttp = true,
AccessTokenExpireTimeSpan = TimeSpan.FromDays(1)
;
app.UseOAuthBearerTokens(OAuthOptions);
Ejecute su proyecto. El token debe mostrarse en la ventana emergente.
Estoy investigando lo mismo y me topé con el servidor de identidad que implementa OAuth y OpenID sobre ASP.NET. Se integra con la identidad ASP.NET y Membership Reboot con soporte de persistencia para Entity Framework.
Entonces, para responder a su pregunta, consulte su documento detallado sobre cómo configurar un servidor OAuth y OpenID.
Nos puedes añadir valor a nuestro contenido asistiendo con tu experiencia en los informes.