我需要創建一個自己的OAUTH提供程序,以驗證第三方應用程序請求,我不想使用Google,Twitter,LinkedIn和Microsoft提供程序。我必須創建自己的提供程序來驗證請求並將訪問令牌返回給客戶端。但網絡上的所有幫助都與外部提供商有關(Google,LinkedIn,Twitter,Facebook等)。任何人都可以幫助我創建自己的自定義提供程序?OAuth自定義提供程序c#
6
A
回答
6
正如羅蘭所說,如果你通過了規範,它很簡單。
在較高的水平,這是你需要做的,以支持校驗碼撥款模式是什麼:
假設: 您的應用程序擁有用戶。
- 向每個第三方應用程序發出clientid/secrets。
- 在您的服務器
- 創建終點授權
- 令牌
當客戶碰到授權終點象下面這樣:
/authorize?response_type=code&client_id=<clientID>&state=xyz&redirect_uri=http://thirdparty.com
- 雷迪將客戶端改爲登錄頁面。
- 驗證用戶提供的用戶名/密碼。
- 如果成功,請使用authCode調用第三方客戶端重定向URI。
- 如果失敗,請致電第三方客戶端重定向URI,並提供錯誤(預先發布)。
樣品回調這裏 https://thirdparty.com/cb?code=SplxlOBeZQQYbYS6WxSbIA&state=xyz
客戶端會再上/令牌URI與AUTHCODE的東西叫象下面這樣:
/token?grant_type=authorization_code&code=SplxlOBeZQQYbYS6WxSbIA&redirect_uri=http://thirdparty.com
生成令牌,其存儲對clientID的,用戶名和用令牌迴應。 類似下面
{
"access_token":"2YotnFZFEjr1zCsicMWpAA",
"token_type":"example",
"expires_in":3600,
"refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA",
"example_parameter":"example_value"
}
當第三方訪問您的服務/資源驗證對客戶端的令牌和用戶名和授予或拒絕訪問。
這是要開始的,但您可以使用範圍和其他OAuth2模式進行更多定製。
相關問題
- 1. C#自定義LINQ提供程序
- 2. 抄寫自定義oAuth提供程序的示例
- 3. 自定義角色提供程序
- 4. ASP .NET DynamicData自定義提供程序
- 5. 自定義憑據提供程序
- 6. 自定義Api提供程序
- 7. 自定義.NET數據提供程序
- 8. 自定義提供程序Web部署
- 9. 自定義PowerShell提供程序實現
- 10. 自定義提供程序錯誤,java.lang.IllegalArgumentException:java.lang.ClassCastException
- 11. 自定義ServiceStack OAuth2提供程序
- 12. 自定義SimpleMembership提供程序
- 13. 自定義ASP.NET通用提供程序
- 14. SonataMediaBundle自定義提供程序
- 15. NHibernate的自定義ADO.Net提供程序
- 16. PowerShell自定義提供程序RemoveItem
- 17. Zend Framework Oauth提供程序
- 18. OAuth提供程序庫(Java)
- 19. 編寫我自己的自定義OAuth外部登錄提供程序
- 20. 自定義成員資格提供程序+自定義CodeAccessSecurityAttribute
- 21. 如何在C#中註冊自定義數據提供程序
- 22. IIS和自定義成員資格提供程序+自定義角色提供程序的問題
- 23. 使用django-allauth啓用oauth登錄,但使用自定義提供程序
- 24. telerik調度程序,自定義提供程序和資源
- 25. ASP.NET MVC中的OAuth 2.0提供程序
- 26. Dotnetopenauth oAuth服務提供程序說明
- 27. 集中API提供程序 - oAuth或不?
- 28. Java OAuth提供程序庫幫助
- 29. 身份驗證提供程序和OAuth
- 30. Django:保存oauth提供程序數據
我研究了這個,但事實證明這是一個糟糕的主意,因爲有無數的安全問題需要注意,並且無休止的更新要先於黑客。最後,大多數人選擇了免費的ThinkTecture服務器。背後的人是技術領域的嚴肅領導者。 http://www.thinktecture.com/identityAndAccessControl – EvilDr 2014-09-04 09:56:53
您是否閱讀過[OAuth 1](http://tools.ietf.org/html/rfc5849)或[OAuth 2](http://tools.ietf)的規範.ORG/HTML/rfc6749)? – 2014-09-04 10:01:21
我需要使用OAUTH 2.0,根據我的客戶的要求來實現。 – daisy 2014-09-04 10:04:28