Auth Provider

OIDCAuthenticationProvider 类实现了可以与标准身份验证管理系统一起使用的 Spring Security Authentication Provider。 该程序可以从服务器的用户信息端点提取 UserInfo, 然后将用户信息存储在从身份验证过程返回的 OIDCAuthenticationToken 对象上。

在Spring context xml 中配置如下:

<security:authentication-manager alias="authenticationManager">
    <security:authentication-provider ref="openIdConnectAuthenticationProvider" />
</security:authentication-manager>

<bean id="openIdConnectAuthenticationProvider" class="org.mitre.openid.connect.client.OIDCAuthenticationProvider">
    ...
</bean>

Named administrator 配置(可选)

默认情况下,基于用户的 issuer 和 subject, 所有有效用户都会获得 Spring Security GrantedAuthority。

若将这些权限映射到例如 ROLE_USER 和 ROLE_ADMIN 上,需要联入一个权限映射器, 例如库中提供的这个映射器:

<bean id="openIdConnectAuthenticationProvider" class="org.mitre.openid.connect.client.OIDCAuthenticationProvider">
    <bean class="org.mitre.openid.connect.client.NamedAdminAuthoritiesMapper">
        <property name="admins" ref="namedAdmins" />
    </bean>
</bean>

<util:set id="namedAdmins" value-type="org.mitre.openid.connect.client.SubjectIssuerGrantedAuthority">
    <bean class="org.mitre.openid.connect.client.SubjectIssuerGrantedAuthority">
        <constructor-arg name="subject" value="5qk30csf9pv1hjmduex42onzwiygtr86" />
        <constructor-arg name="issuer" value="https://accounts.cloudtrust.com.cn/" />
    </bean>
</util:set>

results matching ""

    No results matching ""