尝试使用外部oAuth提供程序进行身份验证的Web应用程序的Spring OAuth2 XML配置

时间:2019-12-08 15:33:03

标签: java spring oauth spring-security-oauth2 okta

我有一个基于Spring MVC的Web应用程序,它使用Spring安全性(以“ spring-security-config.xml中定义的XML配置形式”)。当前,服务器存储用户凭证(数据库存储该凭证,但是我们服务器端代码负责调用数据库并验证凭证),认证和授权由服务器本身完成。当前配置的摘要:

<security:http  auto-config="false" entry-point-ref="authenticationEntryPoint" disable-url-rewriting="true" use-expressions="true" >

    <security:anonymous username="anonymous" granted-authority="ROLE_ANONYMOUS" />
    <security:access-denied-handler error-page="/403"/>
    :

    <security:custom-filter ref="myLogoutFilter" position="LOGOUT_FILTER"/>

    <security:intercept-url pattern="/admin/xyz" access="hasAnyRole('ROLE_WESCO_ADMIN')" requires-channel="https" />
    <security:intercept-url pattern="/users/abc" access="hasAnyRole('ROLE_WESCO_CUSTOMER'

但是,我们计划将用户迁移到oAuth2提供程序('Okta'),并希望通过使用Okta托管的登录页面进行身份验证并使用“授权代码流”进行授权来实现单点登录体验。不幸的是,由于大多数示例示例都在Spring引导中,因此我无法收集太多信息来描述如何使用Spring XML配置(或注释)来实现它。我确实看到了一些示例/文档,分别描述了如何使用 oauth:client 标签和 oauth:resource-server 标签配置客户端和资源服务器。但是,由于我的资源服务器和客户端是相同的(传统的Web应用程序,资源在托管页面的同一台服务器上部署),因此我对如何配置服务器端spring配置感到困惑。是否有人可以参考任何文档或示例代码? 谢谢!

0 个答案:

没有答案