Django REST框架 - 来自外部提供商的OAuth2 Consumer API

ArT*_*TiX 8 python api django oauth-2.0 django-rest-framework

我试图授权用户使用Oauth2从我的Django REST框架API访问一些资源.

关于Oauth2和API的大多数答案都涉及使API成为提供者.

但我计划与许多REST API共享一个Oauth2提供程序,我无法弄清楚如何使用它(而不是如何提供Oauth2).

我不知道用户如何登录提供者SSO,然后将其令牌传递给我的消费API,消费API必须针对我的提供者对用户进行身份验证(获取其信息,主要是授权).

有没有人知道如何从Django REST框架中使用Oauth2?

数字:

[用户] - > [我的API] < - > [Oauth2提供商(与django-oauth-provider)] < - > [Active Directory/anything]

zgo*_*oda 4

查看https://github.com/tomchristie/django-rest-framework/blob/master/rest_framework/authentication.py#L290上的代码,似乎不可能。django-rest-framework 在内部访问提供者的数据库表以检查令牌并使用这些数据对请求进行身份验证。

对我来说,这有点违背了 OAuth 的目的,但我们开始吧。

  • 我很想知道是否有任何更新。总是强制 OAuth 提供者与客户端位于同一台计算机上似乎是一个非常可悲的想法,并且确实违背了 OAuth 的一半目的。 (2认同)