Ich muss einen eigenen OAUTH-Provider erstellen, um Anwendungsanforderungen von Drittanbietern zu validieren, ich möchte nicht Google, Twitter, LinkedIn, Microsoft-Anbieter verwenden. Ich muss meinen eigenen Provider erstellen, um die Anfrage zu authentifizieren und ein Zugangstoken an den Client zurückzugeben. Aber alle Hilfe im Internet ist mit externen Anbietern (Google, LinkedIn, Twitter, Facebook ..) verbunden. Kann mir jemand helfen, meinen eigenen angepassten Provider zu erstellen?OAuth benutzerdefinierter Anbieter C#
Antwort
Wie Roland sagte, wenn Sie durch die Spezifikation kommen, ist es ziemlich geradlinig.
Auf einem hohen Niveau ist, was Sie AuthCode Zuschuss Muster unterstützen müssen tun:
Unter der Annahme: Ihre Anwendung besitzen die Benutzer.
- Geben Sie clientid/secrets für jede der Anwendungen von Drittanbietern aus.
- auf Ihrem Server erstellen Endpunkte für
- Token
Wenn der Client trifft das Autorisieren Endpunkt wie unter
/authorize?response_type=code&client_id=<clientID>&state=xyz&redirect_uri=http://thirdparty.com
- Redi Richten Sie den Client auf eine Anmeldeseite um.
- Überprüfen Sie den vom Benutzer angegebenen Benutzernamen/Passwort.
- Wenn erfolgreich, rufen Sie die Umleitungs-URI des Drittanbieterclients mit authCode auf.
- Wenn Fehler, rufen Sie die 3rd Party Clients Umleitung URI mit Fehler (vorveröffentlicht).
Beispiel Rückruf hier https://thirdparty.com/cb?code=SplxlOBeZQQYbYS6WxSbIA&state=xyz
Client wird dann mit Berechtigungscode mit so etwas wie unten auf dem/Token URI aufrufen:
/token?grant_type=authorization_code&code=SplxlOBeZQQYbYS6WxSbIA&redirect_uri=http://thirdparty.com
ein Token erzeugen, speichern sie gegen die clientID, Benutzer-ID und antworten Sie mit dem Token zurück. So etwas wie unten
{
"access_token":"2YotnFZFEjr1zCsicMWpAA",
"token_type":"example",
"expires_in":3600,
"refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA",
"example_parameter":"example_value"
}
Wenn die dritte Partei Zugriff auf Ihre Dienste/Ressourcen, um die Token gegen den Kunden zu validieren und Benutzer-ID und die Erteilung oder den Zugriff verweigern.
Dies ist zu beginnen, aber es kann viel mehr Anpassung, die Sie mit Scope und anderen OAuth2-Mustern tun können.
- 1. Aktivieren Oauth Login mit Django-Allauth, aber ein benutzerdefinierter Anbieter
- 2. Schienen zweibeinigen OAuth-Anbieter?
- 3. Implementieren benutzerdefinierter Anbieter mit einem offenen Typ
- 4. Benutzerdefinierter Membership-Anbieter, überschreiben Benutzer erstellen
- 5. Welche OAuth-Anbieter sind in der ganzen Welt weit verbreitet?
- 6. Einzelner Account für mehrere OAuth-Anbieter (Facebook, Google, Windows Live)?
- 7. OAuth C# -Bibliothek für Google, Yahoo! Twitter
- 8. C++: Implementieren benutzerdefinierter Hauptfunktion
- 9. C# Benutzerdefinierter Datentyp!
- 10. Benutzerdefinierter OAuth-Server und kaufmännisches Und-Zeichen im Abfragezeichenfolge-Problem
- 11. Benutzerdefinierter OAuth-Client in MVC4/DotNetOpenAuth - fehlendes Zugriffstokengeheimnis
- 12. 37Signals OAuth C# Beispiel
- 13. UWP OAuth google C++
- 14. C# Problem mit Oauth
- 15. C# LinqToTwitter-Verbindung OAuth-PIN
- 16. OAuth in C# als Client
- 17. LinkedIn Oauth - Widerrufen von C#
- 18. Verwendung von OAuth 2 - OAuth 2 C# -Beispiel
- 19. OpenID-Anbieter - was stoppt bösartige Anbieter?
- 20. Zustand Anbieter und Route Anbieter in AngularJS
- 21. Finden Sie geladene Anbieter für OmniAuth
- 22. Fehler bei der Suche nach Anbieterinformationen für <benutzerdefinierter Anbieter>
- 23. Benutzerdefinierter Alarmdialog mit benutzerdefinierter Listenansicht
- 24. Benutzerdefinierter Build-Schritt für C# -Projekt
- 25. Benutzerdefinierter Mitgliedschaftsanbieter für asp.net mit C#
- 26. C#: Benutzerdefinierter impliziter Cast-Operator fehlgeschlagen
- 27. C# - Verschachteltes Ereignisprotokoll von benutzerdefinierter Anwendung lesen
- 28. Instanzieren benutzerdefinierter C# -Klassen von IronPython
- 29. Benutzerdefinierter Speicherzuordner/Manager in C? Welcher Ansatz?
- 30. Ignorieren von ProviderUserKey bei Implementierung benutzerdefinierter Rollenanbieter
Ich recherchierte das eine Weile zurück, und es stellte sich heraus, eine schlechte Idee zu sein, weil es endlose Sicherheitsbedenken geben muss, und endlose Updates, die den Hackern voraus sind. Am Ende entschieden sich die meisten Leute für den kostenlosen ThinkTecture-Server. Die Jungs dahinter sind ernsthafte Führer in der Technologie. http://www.thinktecture.com/identityAndAccessControl – EvilDr
Haben Sie die Spezifikation für [OAuth 1] (http://tools.ietf.org/html/rfc5849) oder [OAuth 2] (http: //tools.ietf .org/html/rfc6749)? –
Ich muss OAUTH 2.0 verwenden, entsprechend der Anforderung meines Kunden, um dasselbe zu erreichen. – daisy