4.5. 在带有 OpenID-Connect 客户端的 Red Hat Single Sign-On 中自动注册 EAP 应用程序
本例使用 OpenID-Connect 客户端适配器为 EAP 项目准备 Red Hat Single Sign-On realm、角色和用户凭证。然后,EAP 中为 OpenShift 模板提供了这些凭据,以自动进行 Red Hat Single Sign-On 客户端注册。部署后,可使用 Red Hat Single Sign-On 用户进行验证并访问 JBoss EAP。
这个示例使用 OpenID-Connect 客户端,但也可以使用 SAML 客户端。如需了解更多与 OpenID - Connect 和 SAML 客户端的不同的更多信息,请参阅 Red Hat Single Sign-On Client Registration Methods。
前提条件
4.5.1. 为 OpenShift 部署准备红帽单点登录身份验证 复制链接链接已复制到粘贴板!
使用包含 cluster:admin 角色的用户登录 OpenShift CLI。
创建一个新项目:
oc new-project eap-app-demo
$ oc new-project eap-app-demoCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将
view角色添加到default服务帐户。这可让服务帐户查看eap-app-demo命名空间中的所有资源,这是管理集群所必需的。oc policy add-role-to-user view system:serviceaccount:$(oc project -q):default
$ oc policy add-role-to-user view system:serviceaccount:$(oc project -q):defaultCopy to Clipboard Copied! Toggle word wrap Toggle overflow EAP 模板需要 SSL 密钥存储和 JGroups 密钥存储 :
本例使用keytool(由 Java Development Kit 附带的软件包)为这些密钥存储生成自签名证书。以下命令将提示输入密码。
为 SSL 密钥存储生成安全密钥:
keytool -genkeypair -alias https -storetype JKS -keystore eapkeystore.jks
$ keytool -genkeypair -alias https -storetype JKS -keystore eapkeystore.jksCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为 JGroups 密钥存储生成安全密钥:
keytool -genseckey -alias jgroups -storetype JCEKS -keystore eapjgroups.jceks
$ keytool -genseckey -alias jgroups -storetype JCEKS -keystore eapjgroups.jceksCopy to Clipboard Copied! Toggle word wrap Toggle overflow
使用 SSL 和 JGroup 密钥存储文件为 OpenShift 机密生成 EAP:
oc create secret generic eap-ssl-secret --from-file=eapkeystore.jks oc create secret generic eap-jgroup-secret --from-file=eapjgroups.jceks
$ oc create secret generic eap-ssl-secret --from-file=eapkeystore.jks $ oc create secret generic eap-jgroup-secret --from-file=eapjgroups.jceksCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将 EAP secret 添加到
default服务帐户:oc secrets link default eap-ssl-secret eap-jgroup-secret
$ oc secrets link default eap-ssl-secret eap-jgroup-secretCopy to Clipboard Copied! Toggle word wrap Toggle overflow