我很难掌握B2C身份验证和授权流程。有人可以解释一下:
答案 0 :(得分:4)
如果我与同意的用户登录,为什么我们需要客户端凭据?什么时候使用这些客户端凭证?
您的应用需要在请求访问令牌时证明其身份。
在授权代码流中,它们与授权代码一起使用,以在用户重定向回您的应用后获取访问令牌。
何时使用openID以及何时在流程中使用Oauth 2.0?
OpenID Connect向OAuth添加身份验证,专注于授权。因此,当您将用户重定向到登录时,您正在使用OIDC。然后,当您通过交换凭据获得访问令牌时,您正在使用OAuth。 (这至少是我的理解)
ID令牌和访问令牌之间有区别吗?如果是这样,那是什么区别,为什么我们需要两者? ID令牌是我登录时获得的ID,当我请求访问API时,访问令牌就是我得到的吗?
是。虽然它们在某些方面相似。登录后会给出一个Id令牌(如果你要求的话)。它旨在识别用户并由请求身份验证的应用程序使用。它包含用户的显示名称等声明。应用程序请求访问令牌,但该应用程序不应读取它。它旨在附加到另一个API的请求,然后另一个API验证令牌并从中获取调用者的信息。你的理解是正确的。