【发布时间】:2020-10-05 06:26:13
【问题描述】:
我目前正在研究 OAuth2 和 OIDC。我知道所有授权类型是什么(即授权类型“授权代码”、“客户端凭据”、“设备令牌”和“刷新令牌”)。但是,这四种授权类型不包括传递用户名和密码的选项。我知道有一个密码流,但是根据Security Best Practices,这种授权类型是被禁止的。
我也遇到了密码流程的问题,但我不知道如何替换它 - 毕竟,用户有时需要输入他们的凭据。
我有什么遗漏吗?我原以为只有一个受信任的客户端使用密码流,并且当用户想要登录时,所有其他客户端都会被重定向到。
【问题讨论】:
-
我遇到了完全相同的问题。我有一个 API,我需要允许客户端以用户身份进行身份验证,但客户端的用户在客户端系统上有自己的帐户,因此无法与客户端向 API 进行身份验证的用户帐户交互。密码流是唯一合适的方法。 API 的凭据保存在客户端服务器中,不会暴露给用户,所以密码流肯定是合适的吗?
-
我认为密码授予的弃用没有考虑到客户端需要使用 API 以用户身份进行身份验证但登录到客户端的用户与客户端的用户不同的情况以身份登录 API。
标签: authentication oauth oauth-2.0 authorization