还搞不懂Oauth2?用你平常登录微信授权打比方详细解读,全网最通俗易懂

当您选择使用微信登录快手app时,以下是大致的流程:
用户打开快手app并选择使用微信登录。
快手app将用户重定向到微信登录页面,由微信服务器负责处理用户的身份验证。
用户在微信登录页面上输入他们的微信账号和密码。
微信服务器验证用户的身份,并向快手app颁发一个临时的授权码(authorization code)。
快手app使用该授权码向微信服务器请求访问令牌(access token)和刷新令牌(refresh token)。
微信服务器对快手app的请求进行验证,并向快手app颁发访问令牌和刷新令牌。
快手app使用访问令牌来获取用户的基本信息,例如头像、昵称等。
用户成功登录快手app,其微信账号与快手账号关联。
在这个流程中,微信服务器充当了验证和授权的中间人。用户在微信登录页面上输入其微信账号和密码时,这些信息是直接传递给微信服务器的,而不是传递给快手app。微信服务器验证用户的身份后,生成一个临时的授权码,通过快手app的重定向返回给快手app。快手app根据该授权码请求访问令牌,随后使用访问令牌向微信服务器请求用户的基本信息。
这个流程确保了用户的身份验证和授权信息的安全性,同时减少了第三方应用程序(如快手app)对用户账号密码的存储和管理。使用微信登录方式可以方便用户在快手app中使用其微信账号进行身份验证,并允许快手app访问特定的用户信息,以提供个性化的体验。

上述流程描述的是使用 OAuth 2.0 进行微信登录的过程。OAuth 2.0 是一种开放标准的授权协议,用于在应用程序之间安全地共享用户的受保护资源,而无需直接暴露用户的凭据(如用户名和密码)。
在上述流程中,微信作为身份提供者(Identity Provider,简称IdP),实现了 OAuth 2.0 协议的一部分。微信验证用户的身份,向第三方应用程序(如快手app)颁发访问令牌(access token),该令牌作为对受保护资源的访问凭证。
OAuth 2.0 协议定义了一组规范和流程,使第三方应用程序能够与身份提供者进行交互,并获取授权访问受保护资源。这种授权流程通过使用临时的授权码(authorization code),访问令牌(access token)和刷新令牌(refresh token)来确保安全性和保护用户的隐私。
因此,微信登录流程是 OAuth 2.0 的一种实现方式,通过该流程,第三方应用程序可以使用用户在微信上的身份验证信息进行授权,并获取访问所需资源的权限。

当用户进行第二次登录并选择使用微信登录时,以下是在后台发生的详细步骤:
用户在快手app上点击使用微信登录,并被重定向到微信登录界面。
用户在微信登录界面输入微信账号和密码,并点击确认登录。
微信验证用户的身份,并生成一个临时的授权码(authorization code)。
微信将临时授权码返回给快手app的回调URL。
快手app的后台服务器接收到微信回调,并使用该临时授权码进行后续操作。
以下是快手app后台的处理步骤:
快手app的后台服务器使用临时授权码向微信服务器发出请求,以获取访问令牌(access token)和刷新令牌(refresh token)。
微信服务器对请求进行验证,并向快手app的后台服务器返回访问令牌和刷新令牌。
快手app的后台服务器收到访问令牌和刷新令牌,并进行存储和关联,将微信账号与快手账号关联起来。
快手app的后台服务器返回访问令牌给客户端,表明登录成功。
快手app的客户端保存访问令牌,并在后续的请求中使用它来访问用户的个人信息和资源。
在后续的登录流程中,当用户选择使用微信登录时,快手app的客户端将访问令牌发送给后台服务器,后台服务器使用刷新令牌和访问令牌更新机制,获取新的访问令牌。
快手app的后台服务器验证新的访问令牌的有效性,并返回给客户端,以验证用户登录状态。
如果访问令牌验证成功,快手app的客户端将用户登录到账户,并允许用户继续访问个人信息和资源。
上述步骤是一种常见的微信登录授权流程,实际的实现可能会有细微的差异。但整体上,这些步骤描述了用户通过微信登录快手app的过程以及后台服务器的处理流程。

猜你喜欢

转载自blog.csdn.net/weixin_42759398/article/details/131495170
今日推荐