2017-07-28 1 views
0

Wir haben eine vorhandene "private/interne" API (nicht MS/Azure), die wir mit oAuth2 von Azure AD schützen möchten, also die des Benutzers Der Zugriff auf die API könnte von den Azure AD-Administratoren verwaltet werden.So konfigurieren Sie den Benutzerzugriff auf eine mit Azure AD geschützte API oAuth2

Es scheint, als ob die API als Webanwendung in Azure AD konfiguriert wird. Anschließend können Benutzer das Autorisierungstoken vom Azure oAuth2-Server abrufen und an die API senden (z. B. über eine einzelne Webanwendung).

Die API wird erwartet, den Umfang zu validieren, wie ich verstehe, in dem Token erhalten und eine Entscheidung über den Zugriff treffen.

Aber ich kann nicht herausfinden, wie Sie den API-Zugriffsbereich in Azure AD gegen einen Benutzer konfigurieren. I.e. Wie verknüpfe ich einen bestimmten Benutzer und den API-Bereich in Azure AD?

Kann jemand bitte beraten?

Vielen Dank.

+0

Das meiste, was Sie gesagt haben, ist genau richtig, aber ich verlor Sie bei "wie man einen bestimmten Benutzer und den API-Bereich in Azure AD verbindet". Soll nur ein Benutzer auf die API zugreifen können? Ist dies eine öffentliche oder private API? –

+0

Ich habe die Beschreibung aktualisiert. Dies ist eine interne API, und wir möchten steuern, wer sie aufrufen darf, indem sie den Zugriff in unserem Azure AD nur ausgewählten Benutzern gewährt. – spoonboy

Antwort

2

Wenn Sie die App konfigurieren, können Sie "Benutzerzuweisung erforderlich" (in den Eigenschaften der Enterprise-Anwendung im Azure-Portal) aktivieren und anschließend konfigurieren, welche Benutzer oder Gruppen Zugriff haben sollen.

Wenn Sie eine größere Granularität benötigen, können Sie alternativ den rollenbasierten Zugriff verwenden, bei dem Sie Rollen im Anwendungsmanifest definieren() und dann die Benutzer den verschiedenen Rollen zuweisen.

[Authorize] Die Attribute für den API-Controller oder auf Aktionen in ihnen können dann mit den erforderlichen Rollen so konfiguriert werden, um auf sie zuzugreifen, etwa so: [Authorize(Roles = "Admin, Writer, Approver")] (jeder der drei genannten Rollen Zugriff haben).

Es gibt eine sample, die dies demonstriert.

+0

Ich habe es satt, die "Benutzerzuweisung erforderlich" zu setzen, aber die Beschreibung besagt, dass sie "nur mit einer Anwendung aktiviert ist, die für SAML-basierte SSO oder WIA mit Azure AD konfiguriert ist". Also, wird es mit oAuth2 auf non WAI App funktionieren? – spoonboy

Verwandte Themen