我应该选择授权类型的API oauth2

时间:2016-06-07 10:38:20

标签: api security mobile oauth-2.0 django-rest-framework

我正在开发一个由API和4个客户端组成的个人项目(网络,安卓,iOS,Windows手机)。

我在API端使用django-rest-framework和oauth2工具包,我想知道哪种grant_type更适合我的情况。

我在某地读过隐式grant_type适合使用移动客户端。

我目前正在使用资源所有者密码凭据系统。

我目前的工作流程是:

  • 用户在API注册页面(http://mysite/api/register)上创建一个帐户,然后在Web客户端上重定向。

  • 用户必须从Web客户端对API进行身份验证(秘密和客户端ID存储在Web客户端中)。如果验证成功,则access_token和refresh_token都存储在用户会话中。

  • 每次用户想要访问页面时,我都会通过使用access_token请求API来验证他是否经过身份验证。如果请求失败,我将使用refresh_token重试。如果它再次失败,我会在auth页面上重定向用户。

  • 用户可以在具有相同帐户的移动客户端上使用API​​而无需额外操作(秘密和客户端ID存储在安全位置,例如共享首选项或钥匙串)

我喜欢这个工作流程,它对用户来说简单方便:他只需注册一次即可使用所有客户端,并在逻辑(API)和UI(客户端)之间实现完美分离。但我担心这个系统的安全性。我不想让我的用户面临威胁。你们有什么想法,建议和建议吗?

你对此事的帮助将非常感激。

提前致谢!

0 个答案:

没有答案