Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MaxKey单点登录官方(MaxKeyTop)
MaxKey
提交
c1103cad
MaxKey
项目概览
MaxKey单点登录官方(MaxKeyTop)
/
MaxKey
12 个月 前同步成功
通知
76
Star
3
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
MaxKey
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c1103cad
编写于
3月 07, 2020
作者:
MaxKey单点登录官方
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update openid.md
上级
5f891ad2
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
4 addition
and
4 deletion
+4
-4
docs/protocols/openid.md
docs/protocols/openid.md
+4
-4
未找到文件。
docs/protocols/openid.md
浏览文件 @
c1103cad
...
...
@@ -21,7 +21,7 @@ OAuth是Authorization,即授权,在已知用户身份合法的情况下,
OpenID Connect是“认证”和“授权”的结合,因为其基于OAuth协议,所以OpenID-Connect协议中也包含了client_id、client_secret还有redirect_uri等字段标识。这些信息被保存在“身份认证服务器”,以确保特定的客户端收到的信息只来自于合法的应用平台。这样做是目的是为了防止client_id泄露而造成的恶意网站发起的OIDC流程。
举个例子。某个用户使用Facebook应用“What online quiz best describes you?” ,该应用可以通过Facebook账号登录,则你可以在应用中发起请求到“身份认证服务器”(也就是Facebook的服务器)请求登录。这时你会看到如下界面,询问是否授权。
<img
src=
"{{ "
/
images
/
openid
/1.
jp
g
"
|
prepend:
site.baseurl
}}?{{
site.time
|
date:
"%
Y
%
m
%
d
%
H
%
M
"
}}"
alt=
""
/>
<img
src=
"{{ "
/
images
/
openid
/1.
pn
g
"
|
prepend:
site.baseurl
}}?{{
site.time
|
date:
"%
Y
%
m
%
d
%
H
%
M
"
}}"
alt=
""
/>
在OAuth中,这些授权被称为scope。OpenID-Connect也有自己特殊的scope--openid ,它必须在第一次请求“身份鉴别服务器”(Identity Provider,简称IDP)时发送过去。
...
...
@@ -56,7 +56,7 @@ OAuth2中还有口令模式和“应有访问模式”的方式来获取Access T
"口令模式"是需要用户提供账号和口令给RP的,既然都已经有用户名和口令了,就不需要在获取什么用户身份了。至于“应有访问模式”,这种方式不需要用户参与,也就无需要认证和获取用户身份了。这也能反映授权和认证的差异,以及只使用OAuth2来做身份认证的事情是远远不够的,也是不合适的。
<h3>
4.2 授权码模式流程
</h3>
<img
src=
"{{ "
/
images
/
openid
/2.
jp
g
"
|
prepend:
site.baseurl
}}?{{
site.time
|
date:
"%
Y
%
m
%
d
%
H
%
M
"
}}"
alt=
""
/>
<img
src=
"{{ "
/
images
/
openid
/2.
pn
g
"
|
prepend:
site.baseurl
}}?{{
site.time
|
date:
"%
Y
%
m
%
d
%
H
%
M
"
}}"
alt=
""
/>
授权码模式流程
和OAuth认证流程类似
...
...
@@ -168,7 +168,7 @@ azp = Authorized party:可选。结合aud使用。只有在被认证的一方
另外ID Token必须使用JWT(JSON Web Token)进行签名和JWE(JSON Web Encryption)加密,从而提供认证的完整性、不可否认性以及可选的保密性。关于JWT的更多内容,请参看JSON Web Token - 在Web应用间安全地传递信息
<h3>
4.3 默认模式流程
</h3>
<img
src=
"{{ "
/
images
/
openid
/3.
jp
g
"
|
prepend:
site.baseurl
}}?{{
site.time
|
date:
"%
Y
%
m
%
d
%
H
%
M
"
}}"
alt=
""
/>
<img
src=
"{{ "
/
images
/
openid
/3.
pn
g
"
|
prepend:
site.baseurl
}}?{{
site.time
|
date:
"%
Y
%
m
%
d
%
H
%
M
"
}}"
alt=
""
/>
默认模式流程
默认流程和OAuth中的类似,只不过也是添加了ID-Token的相关内容。
...
...
@@ -203,7 +203,7 @@ UserInfo Endpoint
"family_name": "Doe",
"preferred_username": "j.doe",
"email": "janedoe@example.com",
"picture": "http://example.com/janedoe/me.
jp
g"
"picture": "http://example.com/janedoe/me.
pn
g"
}
</code></pre>
其中sub代表EU的唯一标识,这个claim是必须的,其他的都是可选的。
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录