Android 如何在Django Rest框架中使用基于令牌的身份验证

Android 如何在Django Rest框架中使用基于令牌的身份验证,android,django,rest,authentication,django-rest-framework,Android,Django,Rest,Authentication,Django Rest Framework,我想在使用Django Rest框架和Android客户端的应用程序中实现基于令牌的身份验证 其工作方式是,我需要将客户端ID和客户端机密与访问令牌一起发送到API端点 访问令牌,如下所示: 我有几个问题想澄清一下,以便将所有这些结合在一起 如何在Django Rest框架中处理客户机ID和客户机机密 如何在Android中存储客户端ID和客户端机密?我不能简单地将它们存储为字符串。有人可以在APK中找到字符串文字 退房 它有一个非常直接的JWT令牌身份验证实现。如果您真正关心安全性,您可以在数

我想在使用Django Rest框架和Android客户端的应用程序中实现基于令牌的身份验证

其工作方式是,我需要将
客户端ID
客户端机密
访问令牌一起发送到API端点

访问令牌
,如下所示:

我有几个问题想澄清一下,以便将所有这些结合在一起

  • 如何在Django Rest框架中处理
    客户机ID
    客户机机密

  • 如何在Android中存储
    客户端ID
    客户端机密
    ?我不能简单地将它们存储为字符串。有人可以在APK中找到字符串文字

  • 退房
    它有一个非常直接的JWT令牌身份验证实现。如果您真正关心安全性,您可以在数据库中存储散列的客户机id和密钥。缺点是,如果您的客户端丢失了这些应用程序,您将无法检索它们。

    如果您坚持使用oauth2-您最好的选择是在服务器端使用此应用程序-@mariodev。谢谢,但我不打算使用密码。我打算简单地使用服务器生成的唯一令牌:但在您建议的库中,它似乎需要密码,用户名否?您不必-请阅读更多关于oauth2如何工作的信息(您可以简单地选择不同的授权类型,示例假定它是密码)@mariodev,我阅读了这篇文章,特别是这篇文章。因此,在我的例子中,我在Android客户端上有一个REST端点,没有密码,即前两个步骤被删除(参见图表)?你听说过djangorestframework jwt吗?
    Token.objects.create(user=instance)