我应该使用哪种授权类型?

2024-04-28 15:19:17 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的申请中,我有很多公司的账户。 我使用的是django-oauth-toolkit,我将根据特定公司的请求添加对API的访问。你知道吗

我有几个端点,比如:

GET /api/users/ - return all company users

GET /api/documents/ - return all documents owned by users from given company

我想知道我应该使用哪种授权类型:

客户端类型:Confidential

授权授予类型选项:

  • 客户端凭据
  • 授权码
  • 基于密码的资源所有者
  • 含蓄的

有人能告诉我哪种类型是最好的吗?为什么?你知道吗


Tags: djangoapi客户端类型getreturn公司账户
1条回答
网友
1楼 · 发布于 2024-04-28 15:19:17

您应该使用resource owner password-based授权:

资源所有者密码凭据授予类型适用于资源所有者与客户端具有信任关系的情况,例如设备操作系统或高度特权的应用程序。你知道吗

流量

客户端将要求用户提供其授权凭据(通常是用户名和密码)。你知道吗

然后,客户端向授权服务器发送带有以下主体参数的POST请求:

  • grant_type的值
  • client_id和客户机的ID
  • client_secret客户的秘密
  • scope具有以空格分隔的请求的作用域权限列表。你知道吗
  • username使用用户的用户名
  • password使用用户的密码

授权服务器将使用包含以下属性的JSON对象进行响应:

  • token_type的值
  • expires_in,整数表示访问令牌的TTL
  • access_token用授权服务器的私钥签名的JWT
  • refresh_token一种加密的有效负载,可用于在访问令牌过期时刷新它。你知道吗

相关问题 更多 >