我想向由this library生成的JWT的有效负载中添加数据(例如令牌过期日期或用户信息)
此库生成的JWT的当前解码有效负载如下所示:
{
"token": "sXF6EE6jlZRmKhx1mgodOCdUMuSE1I"
}
我想要这样的东西
{
"expiration_date": 1588329561
}
我没有实现任何序列化程序或视图,因为库管理序列化程序和视图
我只需在urls.py
文件中声明以下URL:
urlpatterns = [
...,
path('auth/', include('drf_social_oauth2.urls', namespace='drf')),
...,
]
然后我可以发出POST请求来生成JWT或将JWT刷新到auth/token/
我见过(使用其他库的人)尝试修改库的解决方案,以及其他实现序列化程序和视图的解决方案,但由于我使用的库负责此任务,我不知道如何解决此问题
注:
drf-social-auth2
的维护者表明它依赖于python-social-auth
和django-oauth-toolkit
李>
我按照@omab的建议采取了以下方式:
步骤1)
在应用程序中创建一个文件(例如
app/token_generator.py
)并粘贴following function inside步骤2)
将路径添加到
settings.py
中的令牌生成器示例(我的案例):
我想将到期日期添加到令牌负载中,因此我执行了以下操作:
drf-social-oauth2
没有提供一种机制来轻松覆盖此设置,它使用其generate_token
方法(https://github.com/wagnerdelima/drf-social-oauth2/blob/master/drf_social_oauth2/settings.py#L11-L14)覆盖oauth2_provider.settings.ACCESS_TOKEN_GENERATOR
,此方法不包括额外的值,只包括标记您也可以使用添加所需键的自定义方法覆盖该值
相关问题 更多 >
编程相关推荐