避免应用程序属性对Okta的依赖
创始人
2024-12-16 22:30:29
0

使用Spring Security来集成Okta身份验证和授权而不是直接依赖应用程序属性。

首先,在pom.xml文件中添加以下依赖项,以集成Spring Security和Okta:


    org.springframework.boot
    spring-boot-starter-security



    com.okta.spring
    okta-spring-boot-starter
    1.4.1

其次,将以下内容添加到应用程序的application.yml文件中:

okta:
  oauth2:
    issuer: https:///oauth2/default
    client-id: 
    client-secret: 
    redirect-uri: http://localhost:8080/login/oauth2/code/okta
    scope: openid profile email
spring:
  security:
    oauth2:
      client:
        registration:
          okta:
            client-id: ${okta.oauth2.client-id}
            client-secret: ${okta.oauth2.client-secret}
            provider: okta
            redirect-uri: "{baseUrl}/login/oauth2/code/{registrationId}"
            scope: openid profile email
        provider:
          okta:
            authorization-uri: https:///oauth2/default/v1/authorize
            token-uri: https:///oauth2/default/v1/token
            user-info-uri: https:///oauth2/default/v1/userinfo
            user-name-attribute: sub

现在,您可以在应用程序中使用Spring Security和Okta来进行身份验证和授权。

例如,您可以在Controller中使用以下注释来保护端点:

@GetMapping("/protected")
@PreAuthorize("hasRole('ROLE_ADMIN')")
public String getProtected() {
    return "This endpoint is protected";
}

这将要求用户具有“ROLE_ADMIN”角色才能访问受保护的端点。

通过使用Spring Security和Okta

相关内容

热门资讯

Android Recycle... 要在Android RecyclerView中实现滑动卡片效果,可以按照以下步骤进行操作:首先,在项...
安装apache-beam==... 出现此错误可能是因为用户的Python版本太低,而apache-beam==2.34.0需要更高的P...
Android - 无法确定任... 这个错误通常发生在Android项目中,表示编译Debug版本的Java代码时出现了依赖关系问题。下...
Android - NDK 预... 在Android NDK的构建过程中,LOCAL_SRC_FILES只能包含一个项目。如果需要在ND...
Akka生成Actor问题 在Akka框架中,可以使用ActorSystem对象生成Actor。但是,当我们在Actor类中尝试...
Agora-RTC-React... 出现这个错误原因是因为在 React 组件中使用,import AgoraRTC from “ago...
Alertmanager在pr... 首先,在Prometheus配置文件中,确保Alertmanager URL已正确配置。例如:ale...
Aksnginxdomainb... 在AKS集群中,可以使用Nginx代理服务器实现根据域名进行路由。以下是具体步骤:部署Nginx i...
AddSingleton在.N... 在C#中创建Singleton对象通常是通过私有构造函数和静态属性来实现,例如:public cla...
Alertmanager中的基... Alertmanager中可以使用repeat_interval选项指定在一个告警重复发送前必须等待...