2017-04-13 4 views
0

Ich arbeite an der Einrichtung von OAuth 2 für unsere nächste API. Die beabsichtigte Verwendung ist es, dass andere Software mit unserer API interagieren kann. Das Problem, dem ich gegenüberstehe, ist zu entscheiden, wie man einem Benutzer (admin) erlaubt, die Integration zu genehmigen, indem man die Anwendung genehmigt, aber dann allen Benutzern in der anderen Software erlaubt, Aktionen in unserer Software auszuführen, während der Benutzer, der das Programm ausführt, weiterhin verfolgt Aktion. Ich erwäge, einen Header oder einen Parameter zu verwenden, den sie festlegen würden, wenn der Benutzer die Aktion ausführt.OAuth 2 Firma -> Mitarbeiterhierarchie

Haben Sie Beispiele für eine ähnliche Konfiguration oder Optimierungen, die vorgenommen werden könnten, um die Verfolgung von Benutzern und Aktionen zu ermöglichen, ohne dass jeder Benutzer OAuth einrichten muss?

Antwort

1

Wenn Sie Ihren OAuth2-Server als Berechtigungsspeicher für Berechtigungen verwenden möchten, die der Delegierung von Berechtigungen entgegenstehen (z. B. wenn eine App das Google OAuth2-Zugriffstoken für Aktionen des Benutzers verwendet), benötigen Sie wahrscheinlich alle Berechtigungen eines Benutzers, der in den ausgegebenen Zugriffstoken enthalten sein soll (nicht nur diejenigen, die speziell von einer Anwendung angefordert wurden, die den Authentifizierungs-/Autorisierungsprozess initiiert hat). Die Konfiguration ist über den Umfang der OAuth2-Spezifikation hinaus und für jede Implementierung spezifisch.

Wenn eine Anwendung Ihre API aufruft, sollten Sie einen Zugriffstoken in der HTTP-Anforderungs-Kopfzeile Authorization: Bearer accessTokenValue erhalten. Sie müssen dieses Token validieren, seine Berechtigungen extrahieren und Informationen über den Benutzer erhalten, für den das Token ausgestellt wurde. Dies kann am OAuth2-Introspektionsendpunkt durchgeführt werden. Weitere Informationen finden Sie

Ich weiß nicht, wie Sie Benutzer möchten Aktionen verfolgen, so dass ich hoffe, dass die Informationen über einige Ihrer Fragen abdeckt.

+0

Ich bin neugierig auf die Einrichtung eines Unternehmens OAuth'ing die Integration und dann können die Mitarbeiter die Aktionen ausführen. – CWitty

+0

Hallo stimme mit dir überein. Ich denke, der richtige Ort dafür ist der Introspektionsendpunkt. Wie im RFC7662 erwähnt, ist es konzipiert, um Metainformationen über dieses Token zu bestimmen. Ressourceneigentümerrollen können hier zwischen der AS und der RS ​​geteilt werden –