Primero esbozaré mi proyecto:
Para mi pasantía, necesito agregar funcionalidad a un sistema existente. Un cliente de terceros debe poder acceder a los datos de los servicios web de AX una vez que el usuario lo autorice a través de OAuth2. Entiendo que necesito hacer un 'servicio web proxy' para que el cliente pueda hacer sus llamadas y que llame a los servicios de AX, pero estoy un poco inseguro sobre la parte OAuth2. La mayoría de los tutoriales y guías tratan sobre el uso de Identidad de ASP.NET para los inicios de sesión de Facebook o Google. No necesito eso, necesito usar las credenciales existentes, así que necesito crear mi propio servicio OAuth2.
Me resulta difícil encontrar tutoriales, guías o explicaciones sobre esto. Entiendo OAuth2 y lo que hay que hacer, pero nunca antes había hecho algo así y me resulta difícil comenzar. Lo más parecido a lo que necesito que encontré es este enlace de repositorio de github , pero la solución no se construye.
Lo que tenía en mente es crear un sitio web ASP.NET MVC donde los clientes (terceros) pueden registrarse y adquirir sus ID de cliente. Con ASP.NET API, quería crear la API que tomara los tokens y parámetros necesarios, y luego acceder a los servicios Dyn AX.
¿Es esto correcto o estoy completamente equivocado? Cualquier ayuda o enlaces relacionados con la construcción de su propio servidor / servicio oauth2 sería bueno.
Respuestas:
Hay una brillante publicación de blog de Taiseer Joudeh con una descripción detallada paso a paso.
fuente
Authentication
. Puedo hacer todo lo que quiero como get / post / put / delete.También me costó encontrar artículos sobre cómo generar la parte del token. Nunca encontré uno y escribí el mío. Entonces, si ayuda:
Las cosas que hacer son:
Microsoft.Owin
Microsoft.Owin.Host.SystemWeb
Microsoft.Owin.Security.OAuth
Microsoft.AspNet.Identity.Owin
startup
clase OWINLuego cree un
index.js
archivo HTML y un archivo JavaScript ( ) con estos contenidos:La
startup
clase OWIN debe tener este contenido:Ejecute su proyecto. El token debe mostrarse en la ventana emergente.
fuente
Microsoft ASP.NET Identity Owin
entra en juego? ¿Está utilizando Identidad ASP.NET para su autenticación de usuario? Si no, ¿todavía se necesita este paquete NuGet?app.UseOAuthBearerTokens(OAuthOptions);
no funcionará sin ellaMicrosoft ASP.NET Identity Owin
. No reconoce el métodoUseOAuthBearerTokens
.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 el reinicio de membresía 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 .
fuente
Gmail: OAuth
Client ID
ySecret ID
. Finalmente, haga clic en Aceptar para cerrar la ventana emergente de credenciales.Google API
. Haga clic en Descripción general en el panel izquierdo.Google API
sección de API de redes sociales.Eso es todo por parte de Google.
Regrese a su aplicación, abra
App_start/Startup.Auth.cs
y descomente el siguiente fragmentoActualice
ClientId
yClientSecret
con los valores de lasGoogle API
credenciales que ya ha creado.Gmail
identificación.Gmail
identificación en la base de datos de su aplicación.fuente
Why punish that effort?
Quizás SO necesita una forma de marcar una respuesta como desalineada a la pregunta de los OP. O para permitir que los usuarios sugieran que se mueva a una pregunta más apropiada ... o para crear una nueva pregunta a partir de la respuesta.