Day30 - 【概念篇】Open-ID Connect & Social Login(1)

本系列文之後也会置於个人网站


因为略过了一些JWT格式细节分析。所以这部分也有部分不会好好提到

到目前爲止,爲何不同应用可以使用同一个帐号登入,已经在说明Client解释过。这是在相关系统的应用下,那麽...没直接相关的系统呢?譬如:使用Google登入。像这种使用不同帐号系统登入的方式,在Keycloak分成两种。第三方系统登入,这篇仅会说明与 OAuth / Open-Id 相关的一种。如果你使用过Firebase、Auth0等服务,或是看过使用Google、Facebook、Microsoft、GitHub帐号登入的应用,对就是这类。这种社群帐号登入(Social Login)的方式,与前几天提到的内容相关,而且可以在Keycloak实现。

铁人赛只会实现而已,一些细节和更多的范例并不会提到。
(虽然原本就计划写)

Social Login 社群帐号登入

以GitHub帐号登入

Keycloak支援多种社群帐号登入。仅需要透过简单的设定,就可以使用Github、Google等社群帐号进行登入。现在就先以GitHub帐号登入爲例,说明如何设定。

在GitHub建立登入应用

首先,你需要先有GitHub的开发帐号。然後在设定(Setting)页面找到「Developer settings」。

然後选择「OAuth Apps」,并注册一个新的应用(Register a new Application)。

然後连如一些设定讯息:

  • Application name: Example Keycloak App
  • Homepage URL: http://localhost:4200/
  • Authorization callback URL: http://localhost:8080/auth/realms/quick-start/broker/github/endpoint

其中最重要的是Authorization callback URL

最後产生Client secret。点选「Generate a new client secret」按钮,并先记住 Client ID 和 产生的 Client secret , 晚点会用到。

设定Keycloak

在Realm设定选单找到「Identity Providers」,然後添加个「GitHub」的provider。

将刚刚记住的Client IdClient Secret填入相对的设定栏位。

以GitHub帐号登入

回到「快速开始」应用登入:

然後会发现下面多了一个「sign in with GitHub」的选项。

在登入GitHub後会跳出授权画面。接着在点击「Authorize」

然後会要求填入一些基本讯息:

接着才是授权「快速开始」应用的画面。接受後就回到「快速开始」的应用,并已经是登入状态。

Keycloak的相关改变

在User部分,可以看到多了一个帐号。

在这个帐号设定下,可以看到有一个「Identity Provider Links」页签,并记录的与GitHub连接的讯息。之後这个帐号就可以使用GitHub帐号登入。


<<:  Day30 完赛心得

>>:  用 Python 畅玩 Line bot - 13:MongoDB 操作

[Day24] 第二十四章 - 建立point评分表 (复习前面的方法还有query builder)

前言 昨天学习了query builder 今天我们的目的就是要建立评分表 所谓评分表理当应该是除了...

Day 07:我今天想不到标题之整合 tmux 和 zsh

我把从第一天到现在每天的 Home 目录都放上 GitHub 了,README.md 里面有说明 ...

【Day17】音乐与自然语言处理的奇妙关联

音乐与自然语言 昨天我们有提到,我们想要生的是像小星星这样子古典钢琴音乐,像这样子的音乐音色是固定,...

Day 28. Hachicorp Consul: Server configuration for production

Hachicorp Consul: Server configuration for product...

CSS 命名基础介绍 DAY40

今天要来介绍 CSS 命名 首先先来介绍 驼峰式命名: https://zh.wikipedia.o...