2017-06-09 5 views
0

nous avons une API webapi2 C# avec laquelle notre application web javascript communique. Ils sont tous les deux hébergés depuis le même serveur sous le même domaine.secure WebApi2 C#, Remote sur site ADFS 3.00 et client Javascript

Le projet web Api2 n'a pas été configuré avec une authentification car il a été discuté que l'API et le client entier pourraient avoir besoin de se connecter et s'authentifier avec un serveur ADFS distant sur site.

Il a été donné que le client JavaScript et webApi doivent maintenant s'authentifier avec le serveur ADFS 'on-premise' distant (ce serveur ADFS est une organisation distincte et non sur 'notre-site'). Ils utilisent ADFS 3.00 installé sur serveur Windows 2012 R2

Jusqu'à présent, nous avons les informations suivantes

URL du serveur ADFS. de cela, nous pouvons accéder à

-ADFS fedration métadonnées xml signe -leur ADFS à la page que nous devons utiliser et rediriger en quelque sorte revenir à quelque part (javascript api client ou web?)

Je suis sûr nous pouvons accéder à plus d'éléments à partir de ce serveur ADFS comme un authcode, token..etc de leur serveur, mais pas sûr de ce qui est pertinent ou non. Je veux d'abord savoir ce qui devrait se passer après qu'un utilisateur s'authentifie via sa page de connexion ADFS. La page de connexion devrait-elle avoir une url de retour qui frappe notre C# api avec un jeton?

Si tel est le cas, comment consommons-nous ce jeton dans l'appel API et en lisons les informations utilisateur? La seule revendication que nous recherchons est l'adresse e-mail.

L'API est un webapi2 en C#.

Toute aide ou solution serait grandement appréciée en fonction de la configuration actuelle.

Répondre

0

ADFS 3.0 est un peu limité dans sa prise en charge OAuth - essentiellement un accord de code d'autorisation avec un client confidentiel.

Bon exemple here.

Notez que votre fournisseur ADFS va devoir configurer cela. En particulier, le fait que la configuration RP soit faite via PowerShell.

"Ajouter-ADFSClient"