Je vais d'abord esquisser mon projet:
Pour mon stage, j'ai besoin d'ajouter des fonctionnalités à un système existant. Un client tiers doit pouvoir accéder aux données des services Web AX une fois qu'il est autorisé par l'utilisateur via OAuth2. Je comprends que j'ai besoin de créer un «service Web proxy» pour que le client puisse passer ses appels et qui appelle les services AX, mais je ne suis pas sûr de la partie OAuth2. La plupart des didacticiels et guides concernent l'utilisation de l'identité ASP.NET pour Facebook ou Google-logins. Je n'ai pas besoin de cela, je dois utiliser les informations d'identification existantes, je dois donc créer mon propre service OAuth2.
J'ai du mal à trouver des tutoriels, des guides ou des explications à ce sujet. Je comprends OAuth2 et ce qui doit être fait, mais je n'ai jamais fait une telle chose auparavant et j'ai du mal à démarrer. Ce que j'ai trouvé le plus proche de ce dont j'ai besoin est ce lien de dépôt github , mais la solution ne se construit pas.
Ce que j'avais à l'esprit, c'est de créer un site Web ASP.NET MVC où les clients (tiers) peuvent s'enregistrer et acquérir leur ID client. Avec l'API ASP.NET, je voulais créer l'API qui prend les jetons et les paramètres requis, puis accéder aux services Dyn AX.
Est-ce correct ou ai-je totalement tort? Toute aide ou lien concernant la création de votre propre serveur / service oauth2 serait bien.
Réponses:
Il y a un article de blog brillant de Taiseer Joudeh avec une description détaillée étape par étape.
la source
Authentication
. Je peux faire tout ce que je veux, comme get / post / put / delete.J'ai également eu du mal à trouver des articles sur la façon de générer simplement la partie jeton. Je n'en ai jamais trouvé et j'ai écrit le mien. Donc, si cela aide:
Les choses à faire sont:
Microsoft.Owin
Microsoft.Owin.Host.SystemWeb
Microsoft.Owin.Security.OAuth
Microsoft.AspNet.Identity.Owin
startup
classe OWINCréez ensuite un
index.js
fichier HTML et un fichier JavaScript ( ) avec ces contenus:La
startup
classe OWIN doit avoir ce contenu:Exécutez votre projet. Le jeton doit être affiché dans la fenêtre contextuelle.
la source
Microsoft ASP.NET Identity Owin
vient-il en jeu? Utilisez-vous ASP.NET Identity pour votre authentification utilisateur? Sinon, ce package NuGet est-il toujours nécessaire?app.UseOAuthBearerTokens(OAuthOptions);
ne fonctionnera pas sansMicrosoft ASP.NET Identity Owin
. Il ne reconnaît pas la méthodeUseOAuthBearerTokens
.Je recherche la même chose et je suis tombé sur le serveur d' identité qui implémente OAuth et OpenID au-dessus d'ASP.NET. Il s'intègre à l' identité ASP.NET et au redémarrage de l'appartenance avec la prise en charge de la persistance pour Entity Framework.
Alors, pour répondre à votre question, consultez leur document détaillé sur la configuration d'un serveur OAuth et OpenID .
la source
Gmail: OAuth
Client ID
etSecret ID
. Enfin, cliquez sur OK pour fermer la fenêtre des informations d'identification.Google API
. Cliquez sur Aperçu dans le volet gauche.Google API
section sous Social APIs.C'est tout de la partie Google.
Revenez à votre application, ouvrez
App_start/Startup.Auth.cs
et supprimez les commentaires de l'extrait suivantMettez à jour
ClientId
etClientSecret
avec les valeurs desGoogle API
informations d' identification que vous avez déjà créées.Gmail
id.Gmail
ID dans votre base de données d'application.la source
Why punish that effort?
Le SO a peut-être besoin d'un moyen de marquer une réponse comme étant mal associée à la question du PO. Ou pour permettre aux utilisateurs de suggérer qu'elle soit déplacée vers une question plus appropriée ... ou de créer une nouvelle question à partir de la réponse.