首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OAuth2客户端()

OAuth2客户端()
EN

Stack Overflow用户
提问于 2017-10-30 22:14:01
回答 1查看 5.8K关注 0票数 6

我正在使用Python、Django、Django Rest框架和Django OAuth工具包(https://github.com/evonove/django-oauth-toolkit)创建单一登录(SSO)服务。SSO服务将是一个中心的、独立的应用程序,提供用户身份服务(将访问用户信息作为OAuth2保护的资源)。

Django OAuth工具包有助于实现OAuth2授权服务器。是否有类似的高质量Django或Python库可以帮助实现OAuth2客户端(请参见从https://www.rfc-editor.org/rfc/rfc6749#section-1.2获取的图表片段)?

代码语言:javascript
复制
+--------+                               +---------------+
|        |--(A)- Authorization Request ->|   Resource    |
|        |                               |     Owner     |
|        |<-(B)-- Authorization Grant ---|               |
|        |                               +---------------+
|        |
|        |                               +---------------+
|        |--(C)-- Authorization Grant -->| Authorization |
| Client |                               |     Server    |
|        |<-(D)----- Access Token -------|               |
|        |                               +---------------+
|        |
|        |                               +---------------+
|        |--(E)----- Access Token ------>|    Resource   |
|        |                               |     Server    |
|        |<-(F)--- Protected Resource ---|               |
+--------+                               +---------------+

(我希望主用例不会成为实现自己的问题,但是如果一个好的库提供了处理角落用例、错误、重试的方法,并且经过了很好的测试,那么重新发明将是一种耻辱。)

谢谢,

保罗。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-01 12:29:29

在找到并实施了解决方案之后,回来回答我自己的问题.

我选择的方法是阅读相关的RFCs (OAuth 2.0授权框架OAuth 2.0授权框架:承载令牌的使用),并在请求-oauthlib OAuth-2工作流的帮助下实现解决方案。

我编写的Django应用程序的高级分解涉及创建:

  • 用于登录、登录-回调和注销的URL路由
  • 随附视图来处理来自这些URL的请求。
  • OAuth2身份验证后端。
  • 中间件,以在需要它的视图上强制身份验证。

Django应用程序是作为一个pip可安装的独立客户端实现的,它可以被需要单点登录的系统使用。

Django Rest框架Django OAuth工具包的帮助下实现的OAuth-2授权服务器为我的单一登录基础设施提供了中心。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47025007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档