gpt4 book ai didi

java - 身份验证流程中 grant_type=client_credentials 和 grant_type=password 之间的区别?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:29:02 26 4
gpt4 key购买 nike

我想了解 grant_type=client_credentials 之间的区别和 grant_type=passwordAuthentication或在 OAuth2 Flow概念。

我正在关注以下网站:

我想 grant_type=passwordnot secure就使用 grant_type 而言在 JavaScript 开发中。但我仍然想知道是否有人可以帮助我理解这个概念。

我还观察到 grant_type=client_credentials不提供“refresh_token”,它只提供access_token grant_type=password在哪里同时提供 access_tokenrefresh_token .

希望得到详细的解释。我正在使用 WSO2 API Manager用于我的应用程序开发的 OAuth2

最佳答案

资源所有者凭据授予(密码授予类型)

实现此授权后,客户端本身将要求用户提供用户名和密码(而不是重定向到 IdP 授权服务器进行身份验证),然后将这些与客户端自己的凭据一起发送到授权服务器。如果身份验证成功,则客户端将获得访问 token 。

此授权适用于受信任的客户端,例如服务自己的移动客户端(例如 Spotify 的 iOS 应用程序)。您也可以在不容易实现授权代码的软件中使用它 - 例如,我们将此授权授予锁定为 OwnCloud这样我们就可以从大学的 Active Directory 服务器检索我们无法通过 LDAP 访问的用户的详细信息。

客户端凭据授予

此授权类似于资源所有者凭据授权,只是仅使用客户端的凭据来验证对访问 token 的请求。同样,只应允许受信任的客户端使用此授权。

此授权适用于机器对机器的身份验证,例如用于通过 API 执行维护任务的 cron 作业。另一个例子是客户端向不需要用户许可的 API 发出请求。

当有人访问 University of Lincoln staff directory 上的员工页面时该网站使用自己的访问 token (使用此授权生成)来验证对 API 服务器的请求,以获取有关用于构建页面的员工的数据。当一名员工登录更新他们的个人资料时,他们自己的访问 token 将用于检索和更新他们的数据。因此,存在很好的关注点分离,我们可以轻松地限制每种类型的访问 token 所具有的权限。

关于java - 身份验证流程中 grant_type=client_credentials 和 grant_type=password 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34842895/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com