本系列文之後也会置於个人网站
Realm,中文或许会翻作「域」,但基本很像是程序开发上,语言层面提供的包(package
)或是命名空间(namespace
)。或者可能可以更贴切的说是工作空间(workspace)。
你可以想象就像是一个企业、部门或是其他组织。有着相同的一些规范,同事们在同样地工作空间生活、工作。但不同的企业、部门或是其他组织,可能会有类似的规范,但两者不互相影响。
会特别有这个概念,是因爲Keycloak是可以建立多个Realm的。也就是,在同一间公司内,不同部门都可以有自己的Realm,制定部门自己的管理规范。或是特别爲外部客户建立一个Realm,并制定特殊规范。
不同的Realm内,有着自己的帐号系统、密码规范政策等。利用这个特性,之後也会用来更清楚的理解Open-Id。
你也可以同样简单视爲一个帐号资料库、身份验证服务器。特别的是在会话成立期间,可以不需要再进行一次验证,而这部分,会在提到Client时在多做说明。
要建立一个Realm是非常简单。在之前也建立过「quick-start」这个Realm。也几乎就只需要给个名字而已。
接着会提到一些在这个系列上会使用的设定。虽然绝大部分都会维持预设值,但多少都是与身份验证与授权相关的。
需要留意的几个会是Session Idle、Session Max与Lifespan相关的设定。这些会关乎到存取权限有效期限有多长、一次登入会话可以保留多长时间。换句话说,多久後需要更新存取权杖、多久後需要重新登入。
举个例子:
1. 将SSO Session Idle 改爲1分钟。
2. 然後使用「快速开始」登入以後,就将快速开始的页面关掉。
3. 接着等待个一分钟。(建议再多等一下)
4. 之後重新打开「快速开始」的应用页面,再做一次登入动作。会发现需要在输入一次帐号密码。
再举个例子:
1. 将SSO Session Max 改爲5分钟。
2. 然後使用「快速开始」登入。
3. 接着等待个五分钟後。(建议再多等一下)
4. 再一次点击登入按钮,会发现同样需要在输入一次帐号密码。
你或许会注意到相关的设定还有一组与Remember Me有关的。但是我们登入画面上并没有Remember Me的选项可以勾选,关於这点可以在Login页签开啓。在预设值的情况下,就意味者允许用户的会话长期保留,而无需再次登入。像这种政策决策,可能会受到部门政策、应用安全性考量而有些不同。有些的记住我可能最多也就保留30天而已。
然後是关於安全性的设定。这部分会设置一些response时的Headers属性。
这部分在本系列会有一些调整,但如果不熟悉相关issue,建议同样维持预设值。此外,Client Registration和UAM实际也与OAuth有关,但大概是没机会多提到了。总之一些还颇爲重要的设定都是在Realm下。
Keycloak可以建立多个Realm,但其中一个预设的Realm有一点那麽特别--Master。这可以说是在管理Keycloak本身,而我们用以建立Realm的帐号同样在这个Realm底下。
你可以注意到,当我们要使用Administration Console时,登入的就是这一个Realm。
阵列若具有两个索引称为二维阵列,若有三个则是称为三维阵列。二维阵列就像是数学中的矩阵,我们可以把第一...
grep grep(Global search a Regular Expression and P...
在 react 当中有提供了不同的 css 方法,除了常见的 css in css 外, 另外现在前...
Components基本定义 Components是react组成的最基本元素,每一个Compont...
写Javascript前必要小知识 1.<!DOCTYPE html> 为 HTML 5...