Tips:本篇已加入,.Net core 3.1 使用IdentityServer4 实现 OAuth2.0 --阅读目录 。 前言如果大家英语比较好 可以看下 OAuth2.0官网(https:///2/),当然英语不好也没关系 我们看一下,下面一段描述: OAuth(开放授权)是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的所有内容. 开始做过微信授权的同学们应该都知道,自己开发的应用获取用户openid的过程就是一个OAuth认证授权的流程, 我们看一下微信官方的登录流程图:
这个就是一个 符合OAuth 授权码模式(authorization code)的流程,当我们需要获取 微信的openid(资源)时,不是在开发者应用上让用户输入微信号和密码(其实也没办法输入), 需要用户主动接受授权获取到code,开发者拿着code和事先在微信平台注册的appid和appsecret,去访问微信服务器换取 openid(资源)。
可能大家有点晕乎了怎么一上来直接讲 授权码模式 了,之后的章节中会具体讲解各种模式,这里主要是让大家先有点感觉。 名词定义(1)Third-party application:第三方应用程序, 即上图中的开发者做的微信小程序。 (2)HTTP service:HTTP服务提供商,本文中简称"服务提供商",即上图中的微信。 (3)Resource Owner:资源所有者,本文中又称"用户"(user)。 (4)User Agent:用户代理,可以时浏览器,app或者是上图描述中的 微信小程序。 (5)Authorization server:认证服务器,即服务提供商专门用来处理认证的服务器。 (6)Resource server:资源服务器,即服务提供商存放用户生成的资源的服务器。它与认证服务器,可以是同一台服务器,也可以是不同的服务器。 认证类型官网上描述的类型有以下几种:
本系列主要是讲解Web端的OAuth会讲述里面的 5中类型(不包括 PKCE和 Device Code) 但是我还是会大概说一下这两种模式
之后的章节主要重点讲解
而Refresh Token 存在于各个模式之中,随着 .netcore 的流行,IdentityServer4也随之风靡,下面一节中会介绍一下 IdentityServer4 里的一些名词,便于同学们理解之后章节 用ID4 实现各种模式。 |
|