Potrzebuję stworzyć własnego dostawcę OAUTH, aby potwierdzić wnioski aplikacji innych firm, nie chcę korzystać z usług Google, Twittera, LinkedIn, dostawców Microsoft. Muszę utworzyć własnego dostawcę, aby uwierzytelnić żądanie i zwrócić token dostępu do klienta. Ale cała pomoc w sieci jest powiązana z zewnętrznymi dostawcami (Google, LinkedIn, Twitter, Facebook ..). Czy ktoś może mi pomóc w stworzeniu własnego dostawcy niestandardowego?Niestandardowy dostawca OAuth C#
Odpowiedz
Roland powiedział, że jeśli przejdziesz przez specyfikację, będzie to całkiem proste.
Na wysokim poziomie jest to, co trzeba zrobić, aby wspierać wzór AUTHCODE Grant:
przyjmując: Aplikacja właścicielem użytkowników.
- Wydaj klient/sekrety każdej aplikacji trzeciej.
- Na serwerze utworzyć punkty końcowe dla
- zezwolić
- żeton
Gdy klient trafia w punkt końcowy autoryzacji jak poniżej:
/authorize?response_type=code&client_id=<clientID>&state=xyz&redirect_uri=http://thirdparty.com
- Redi przekierować klienta do strony logowania.
- Sprawdź poprawność nazwy użytkownika/pwd podanej przez użytkownika.
- Po pomyślnym wywołaniu przekierowania URI klienta zewnętrznego należy użyć kodu authCode.
- Jeśli wystąpi błąd, wywołaj klienta URI przekierowania z błędem (wcześniej opublikowany).
Próbka zwrotna tutaj https://thirdparty.com/cb?code=SplxlOBeZQQYbYS6WxSbIA&state=xyz
Klient następnie wezwać/tokena URI z AUTHCODE coś jak poniżej:
/token?grant_type=authorization_code&code=SplxlOBeZQQYbYS6WxSbIA&redirect_uri=http://thirdparty.com
Generowanie tokenu, przechowywać go przed ClientID, identyfikatora użytkownika i odpowiedzieć z tym tokenem. Coś poniżej
{
"access_token":"2YotnFZFEjr1zCsicMWpAA",
"token_type":"example",
"expires_in":3600,
"refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA",
"example_parameter":"example_value"
}
Kiedy 3rd dostępu stron Twoich usług/zasobów walidacji token przed klientem i login, a udzielić lub odmówić dostępu.
To jest początek, ale może być o wiele więcej dostosowań, które można wykonać za pomocą zakresu i innych wzorców OAuth2.
- 1. Włącz logowanie oauth z django-allauth, ale niestandardowy dostawca
- 2. Prosty dostawca usług OAuth
- 3. oAuth Dostawca członkostwa ASP.NET
- 4. Scentralizowany dostawca API - oAuth czy nie?
- 5. ASP.NET Web API: dostawca usługi OAuth
- 6. Niestandardowy dostawca uwierzytelniania w aplikacji silex
- 7. Wiosenny niestandardowy filtr uwierzytelniania i dostawca nie wywołujący metody sterownika
- 8. Operator wyszukiwarki Google oauth2 dostawca
- 9. Niestandardowy serwer Oauth i znak ampersand w ciągu zapytania zapytania
- 10. Google Api OAuth w języku C#, .NET
- 11. LinkedIn Oauth - odwołanie dostępu z C#
- 12. OAuth: przypadek użycia implementacji protokołu OAuth
- 13. Czy istnieje niestandardowy dostawca członkostwa ASP.NET na sprzedaż z dodatkowym zabezpieczeniem?
- 14. "Zapamiętaj mnie" test kończy się niepowodzeniem, gdy używany jest niestandardowy dostawca użytkownika, jednostka użytkownika itp.
- 15. Dostawca JPA 2.0 Hibernate
- 16. Nieznany dostawca CookieStore
- 17. błąd dostawca nieznane regulatora
- 18. Dostawca sesji RavenDB ASP.NET?
- 19. Typ dostawca: Jak zregenerować?
- 20. "Nieznany dostawca: ngDialogProvider"
- 21. Globalny dostawca usług Angular2
- 22. błąd angularjs Nieznany dostawca
- 23. Dostawca treści uri zezwolił
- 24. Dostawca przejść LINQ?
- 25. Jak utworzyć niestandardowy atrybut w C#
- 26. Metoda Q_INVOKABLE zwracająca niestandardowy typ C++
- 27. C# Custom CheckBox + niestandardowy typ danych wiązania
- 28. Kompilowanie gramatyki typu C na niestandardowy zespół
- 29. C# wykonanie kodu wewnątrz niestandardowy atrybut
- 30. C#: Niestandardowy niejawny operator rzutowania nie działa
Przeszedłem na chwilę tę analizę i okazało się to złym pomysłem, ponieważ istnieją niekończące się kwestie bezpieczeństwa, o których należy pamiętać, i niekończące się aktualizacje, które wyprzedzają hakerów. Ostatecznie większość osób wybrała bezpłatny serwer ThinkTecture. Faceci, którzy za tym stoją, są poważnymi liderami w tej technologii. http://www.thinktecture.com/identityAndAccessControl – EvilDr
Czy znasz specyfikację [OAuth 1] (http://tools.ietf.org/html/rfc5849) lub [OAuth 2] (http: //tools.ietf .org/html/rfc6749)? –
Potrzebuję użyć OAUTH 2.0, zgodnie z wymogiem mojego klienta, aby osiągnąć to samo. – daisy