首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >理解client_id和client_secret

理解client_id和client_secret
EN

Stack Overflow用户
提问于 2016-01-04 14:10:45
回答 2查看 22K关注 0票数 24

我是OAUTH的初学者,他想问我是否正确地理解了一些东西。我使用OWIN和C#,并设置了以下场景:

  1. 用户向我的令牌端点发出请求,传递用户名/密码以及密码的grant_type。如果凭据有效,则创建一个JWT。
  2. 用户返回一个JWT,然后客户端对所有请求使用该令牌。
  3. 任何需要授权的请求,我都使用令牌的声明来确保允许用户提出此请求。

那么,client_id和client_secret从何而来呢?这仅仅是一个额外的安全层,可以说“在您获得令牌之前,您需要向我传递另一组凭据(id/保密),并且只有在这些凭据有效的情况下,除了您提供的用户名/密码外,您还能得到一个JWT吗?”

我想了解这两个人的关系--非常感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-04 14:43:32

密码流中不使用client_id和client_secret。但是,您可能知道,OAuth2还有其他流,适合于其他场景。

即:

  • 用于验证用户服务器端的web应用程序的授权代码流。在初始重定向中使用client_id,在最后一步中使用client_secret,其中应用程序将一次代码交换为令牌。
  • 用于验证应用程序而不是单个用户的客户端凭据

所有不同流的简明参考:https://aaronparecki.com/articles/2012/07/29/1/oauth2-simplified

票数 11
EN

Stack Overflow用户

发布于 2016-01-04 14:25:00

有两个方面需要进行身份验证:应用程序和用户。

应用程序通过ID和机密进行身份验证,可能是由回调URL备份的,该URL应该确保令牌的接收方是正确的。

用户通过OAuth提供程序进行身份验证。它可以使用用户名/密码,或者OAuth提供者认为必要的任何东西。该令牌用于允许应用程序在不知道用户名和密码的情况下获取用户数据。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34593038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档