在 Keycloak 里集成 GitHub 登录

共 910字,需浏览 2分钟

 ·

2022-04-10 22:29

Keycloak 是一个开源的身份认证系统,可以对接各种第三方的身份认证提供者,之前有展示过如何对接微信登录、企业微信登录,今天再展示一下如何对接 GitHub 登录,并将通过 GitHub 登录的用户链接到 Keycloak 已有有用户。

基于 keycloak 的关注公众号即登录功能的设计与实现


下面详解 GitHub 登录方式的集成:

首先,在 GitHub 里申请一个应用

其实就是在 GitHub 里备个案,拿到 appid 和 appsecret,以便后续填写在 Keycloak 的 GitHub 身份提供者配置中。

打开浏览器浏览至:https://github.com/settings/developers 开发者设置页面,新建一个 OAuth 应用:


复制 ClientID 和 ClientSecret:


然后,在 Keycloak 控制面板添加一个 GitHub 身份提供者


添加提供程序,并选择 GitHub:



随后,填入上一步申请好的 Client ID 和 Client Secret。Account Linking Only 可以根据需求来勾选:



复制上图中的重定向 URI,并将它更新到第一步申请的 GitHub OAuth 应用中:



接着,找一个用户验证链接是否有效

比如,我在 Keycloak 中的用户详情,是之前通过微信登录的,可以看到身份提供者是微信:



打开浏览器并浏览至:https://uniheart.pa-ca.me/keycloak/login,选择通过 GitHub 登录:


注意到,登录过程中,会提醒,已经有邮箱为 jeff.tian@outlook.com 的用户了,如果要链接到该用户,需要通过邮箱验证。

验证完后,就会登录成功,跳回到登录前的应用 https://uniheart.pa-ca.me/keycloak/login,并进入登录态,即拿到 access token。


这时,再加到 Keycloak 控制面板,找到该用户,即可看到该用户的身份提供者,除了微信,还多了一个 GitHub。


这说明 GitHub 登录集成成功了!

浏览 88
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报