cas认证和oauth2_portal认证服务器搭建

(1) 2024-07-02 17:23

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
cas认证和oauth2_portal认证服务器搭建,希望能够帮助你!!!。

OIDC协议作为以OAuth2为基础衍生的出新的认证授权协议,将OAuth2的授权协议与OpenId的认证协议相结合,从而生产的新的sso协议OIDC协议(OpenID Connect)。本文讲解的是基于CAS 5.1.X 实现的OIDC搭建。

*本文章需要读者自行搭建CAS服务端

OIDC主要术语说明:http://openid.net/specs/openid-connect-basic-1_0.html#Terminology

  1. EU:End User:一个人类用户。
  2. RP:Relying Party,用来代指OAuth2中的受信任的客户端,身份认证和授权信息的消费方;
  3. OP:OpenID Provider,有能力提供EU认证的服务(比如OAuth2中的授权服务),用来为RP提供EU的身份认证信息
  4. IDToken:JWT格式的数据,包含EU身份认证的信息。
  5. UserInfo Endpoint:用户信息接口(受OAuth2保护),当RP使用AccessToken访问时,返回授权用户的信息,此接口必须使用HTTPS。

OIDC工作流程:

官网文档给出了详细的介绍,整个过程如下图(http://openid.net/specs/openid-connect-basic-1_0.html)

  1. RP发送一个认证请求给OP;
  2. OP对EU进行身份认证,然后提供授权;
  3. OP把ID Token和Access Token(需要的话)返回给RP;
  4. RP使用Access Token发送一个请求UserInfo EndPoint;
  5. UserInfo EndPoint返回EU的Claims。
    cas认证和oauth2_portal认证服务器搭建_https://bianchenghao6.com/blog__第1张

    CAS服务端集成OIDC

    (https://apereo.github.io/cas/5.1.x/installation/OIDC-Authentication.html)
    一、pom文件添加OIDC插件包

<dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-oidc</artifactId> <version>${cas.version}</version> </dependency>

二、JWK钥匙生成
官方提供的用于生产JWK文件工具 https://mkjwk.org/
或者使用本地JAR生产 jar下载地址:https://download.csdn.net/download/becausesy/

三、配置文件

#--------------------openId connect------------------ #签名文件路径 cas.authn.oidc.jwksFile=classpath:/static/keystore.jwks #签发端地址 cas.authn.oidc.issuer=https://localhost:8888/cas/oidc/ #-------------------开启动态注册客户端------------------ cas.authn.oidc.dynamicClientRegistrationMode=OPEN #-------------------自定义字段------------------ cas.authn.oidc.userDefinedScopes.hbtvprofiles=id,name,mobile,email,avatar

四、客户端注册
JSON文件形式

{ "@class" : "org.apereo.cas.services.OidcRegisteredService", "clientId": "...", "clientSecret": "...", "serviceId" : "...", "name": "OIDC Test", "id": 10, "scopes" : [ "java.util.HashSet", [ "profile", "email", "address", "phone", "offline_access", "displayName", 

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复