【发布时间】:2014-07-29 01:21:18
【问题描述】:
我正在创建一个使用 JWT Auth 的 Web 服务。我正在使用 django-rest-framework-jwt 为了那个原因。我希望我的用户可以使用他们的 ldap 帐户进行身份验证。我发现有一个针对 LDAP 服务进行身份验证的 Django 身份验证后端。在 django-rest-framework-jwt 中进行身份验证的函数编码如下:
def authenticate_credentials(self, payload):
try:
user_id = payload.get('user_id')
if user_id:
user = User.objects.get(pk=user_id, is_active=True)
else:
msg = 'Invalid payload'
raise exceptions.AuthenticationFailed(msg)
except User.DoesNotExist:
msg = 'Invalid signature'
raise exceptions.AuthenticationFailed(msg)
return user
该函数在 User 模型中查找以验证用户。我认为即使我设置了 ldap 后端,它也永远不会工作。我对吗?如果是,我可以更改哪些内容才能使用 JWT Auth 并能够针对 LDAP 服务进行身份验证?
【问题讨论】:
-
Hunsu,您是否能够按照 psagers 的建议集成 JWT auth 和 LDAP。我也有同样的情况,我会试试的。
-
@ankittyagi 那是不久前的事了,我真的不记得了,但当我接受了我认为我接受的答案时(或者至少它确实帮助了我)。
标签: python django authentication ldap jwt