我正在尝试授权用户使用Oauth2从我的Django REST框架API访问某些资源。
有关Oauth2和API的大多数答案都涉及使API成为提供程序。
但是我计划与许多REST API共享一个Oauth2提供程序,但我不知道如何消费(而不是如何提供Oauth2)。
我不知道用户如何登录提供者SSO,然后将其 token 传递给我的使用API,后者必须根据我的提供者对用户进行身份验证(获取其信息,主要是授权)。
有人知道如何从Django REST框架使用Oauth2吗?
数字:
[用户]-> [我的API] [Oauth2提供程序(带有django-oauth-provider)] [Active Directory/任何内容]
最佳答案
查看https://github.com/tomchristie/django-rest-framework/blob/master/rest_framework/authentication.py#L290上的代码似乎似乎是不可能的。 django-rest-framework在内部访问提供程序的数据库表以检查 token 并使用这些数据对请求进行身份验证。
对我来说,这有点违反了OAuth的目的,但是我们走了。
关于python - Django REST Framework-来自外部提供商的OAuth2消费者API,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24430484/