Wiki
的基本环境搭建和使用,网上一大堆,本文就不在累赘。
使用过程中,需要用到身份验证时,发现出错后页面提示信息不是很友好,最后也是通过调试源码后配置成功,所以还是很有必要记录一下配置方式。
基本的配置包含2个部分,分别是授权配置、注册配置。
1. 授权配置
个人认为这部分是最不友好的地方,卡壳也是卡在这里。
1.1 Client ID
获取 Token
时会作为参数传递给接口。
1.2 Client Secret
获取 Token
时会作为参数传递给接口。
1.3 Authorization Endpoint URL
授权页面的地址。
当进入 Wiki
的登录页后,选择 Generic OAuth2
授权登录时跳转的地址。
如果同意授权,则需要跳转到 Wiki
指定的回调页面(跳转时可以加入自定义参数)。
每个项目的回调地址都不相同,最简单的办法就是在页面的最下面找到配置参考。http://xxx:3000/login/bf4439-a770-fedee4be57df/callback?MyValue=test
如果回调地址配置的不对,可能会出现Invalid authentication provider.
错误页。
1.4 Token Endpoint URL
获取Token
的接口地址。
在调用该地址时,Wiki
会自动附带下面这些参数:
grant_type=authorization_code
client_id=1.1中配置的值
client_secret=1.2中配置的值
自定义参数(1.3中配置的值)
服务端验证逻辑完成后,接口必须返回包含以下字段的返回值(注意区分大小写)
{ |
|
"access_token":"xxx" |
|
} |
如果返回值不合法,会出现错误页Failed to obtain access token
。
1.5 User Info Endpoint URL
成功拿到Token
后,获取用户信息的接口地址。
可以设置
Wiki
获取用户信息时Token
的传递方式:Query string
或Authorization header
服务器根据 Token
获取用户信息,最终返回包含以下字段的返回值(注意区分大小写)
{ |
|
"UserId":10086, |
|
"Name":"张三", |
|
"Email":"zs@test.com" |
|
} |
如果返回值不合法,会出现错误页Missing or invalid email address from profile.
Wiki
系统中是通过
1.6 ID Claim
用户信息接口中返回的用户 ID
字段名。
1.7 Display Name Claim
用户信息接口中返回的用户名称
字段名。
1.8 Email Claim
用户信息接口中返回的邮箱
字段名,该字段值必须保证唯一。
2. 注册配置
2.1 启用开放注册
授权登录完成后,当用户信息在 Wiki
中不存在时,则会新建用户信息并完成登录。
本站声明:
1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/293241.html