diff --git a/3.0.5/apidocs/allclasses-index.html b/3.0.5/apidocs/allclasses-index.html new file mode 100644 index 000000000..aad9e748e --- /dev/null +++ b/3.0.5/apidocs/allclasses-index.html @@ -0,0 +1,148 @@ + + + + +All Classes and Interfaces (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

All Classes and Interfaces

+
+
+
+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/allpackages-index.html b/3.0.5/apidocs/allpackages-index.html new file mode 100644 index 000000000..85069c2fb --- /dev/null +++ b/3.0.5/apidocs/allpackages-index.html @@ -0,0 +1,101 @@ + + + + +All Packages (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

All Packages

+
+
Package Summary
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/example/cloud/configserver/ConfigServerApplication.html b/3.0.5/apidocs/com/okta/example/cloud/configserver/ConfigServerApplication.html new file mode 100644 index 000000000..09ff10cf5 --- /dev/null +++ b/3.0.5/apidocs/com/okta/example/cloud/configserver/ConfigServerApplication.html @@ -0,0 +1,165 @@ + + + + +ConfigServerApplication (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ConfigServerApplication

+
+
java.lang.Object +
com.okta.example.cloud.configserver.ConfigServerApplication
+
+
+
+
@EnableConfigServer +@SpringBootApplication +public class ConfigServerApplication +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ConfigServerApplication

      +
      public ConfigServerApplication()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      main

      +
      public static void main(String[] args)
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/example/cloud/configserver/class-use/ConfigServerApplication.html b/3.0.5/apidocs/com/okta/example/cloud/configserver/class-use/ConfigServerApplication.html new file mode 100644 index 000000000..b8e331b8a --- /dev/null +++ b/3.0.5/apidocs/com/okta/example/cloud/configserver/class-use/ConfigServerApplication.html @@ -0,0 +1,62 @@ + + + + +Uses of Class com.okta.example.cloud.configserver.ConfigServerApplication (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.example.cloud.configserver.ConfigServerApplication

+
+No usage of com.okta.example.cloud.configserver.ConfigServerApplication
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/example/cloud/configserver/package-summary.html b/3.0.5/apidocs/com/okta/example/cloud/configserver/package-summary.html new file mode 100644 index 000000000..3f27e4150 --- /dev/null +++ b/3.0.5/apidocs/com/okta/example/cloud/configserver/package-summary.html @@ -0,0 +1,87 @@ + + + + +com.okta.example.cloud.configserver (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.okta.example.cloud.configserver

+
+
+
package com.okta.example.cloud.configserver
+
+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/example/cloud/configserver/package-tree.html b/3.0.5/apidocs/com/okta/example/cloud/configserver/package-tree.html new file mode 100644 index 000000000..eccbb1eed --- /dev/null +++ b/3.0.5/apidocs/com/okta/example/cloud/configserver/package-tree.html @@ -0,0 +1,76 @@ + + + + +com.okta.example.cloud.configserver Class Hierarchy (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.okta.example.cloud.configserver

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/example/cloud/configserver/package-use.html b/3.0.5/apidocs/com/okta/example/cloud/configserver/package-use.html new file mode 100644 index 000000000..76d2f4f5a --- /dev/null +++ b/3.0.5/apidocs/com/okta/example/cloud/configserver/package-use.html @@ -0,0 +1,62 @@ + + + + +Uses of Package com.okta.example.cloud.configserver (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
com.okta.example.cloud.configserver

+
+No usage of com.okta.example.cloud.configserver
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/AuthoritiesProvider.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/AuthoritiesProvider.html new file mode 100644 index 000000000..f3d3adbd7 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/AuthoritiesProvider.html @@ -0,0 +1,158 @@ + + + + +AuthoritiesProvider (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface AuthoritiesProvider

+
+
+
+
public interface AuthoritiesProvider
+
Allows for custom GrantedAuthoritys to be added to the current OAuth Principal. Multiple implementations + are allowed, by default OAuth scopes are converted to Authorities with the format SCOPE_<scope-name> and + if a `groups` claim exists in the access or id token, those are converted as well. + + Example usage: + +

+     @Bean
+     AuthoritiesProvider myCustomAuthoritiesProvider() {
+         return (user, userRequest) -> lookupExtraAuthoritesByName(user.getAttributes().get("email"));
+     }
+ 
+
+
Since:
+
1.4.0
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    default Collection<? extends org.springframework.security.core.GrantedAuthority>
    +
    getAuthorities(org.springframework.security.oauth2.core.oidc.user.OidcUser user, + org.springframework.security.oauth2.client.oidc.userinfo.OidcUserRequest userRequest)
    +
     
    +
    Collection<? extends org.springframework.security.core.GrantedAuthority>
    +
    getAuthorities(org.springframework.security.oauth2.core.user.OAuth2User user, + org.springframework.security.oauth2.client.userinfo.OAuth2UserRequest userRequest)
    +
     
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getAuthorities

      +
      Collection<? extends org.springframework.security.core.GrantedAuthority> getAuthorities(org.springframework.security.oauth2.core.user.OAuth2User user, + org.springframework.security.oauth2.client.userinfo.OAuth2UserRequest userRequest)
      +
      +
    • +
    • +
      +

      getAuthorities

      +
      default Collection<? extends org.springframework.security.core.GrantedAuthority> getAuthorities(org.springframework.security.oauth2.core.oidc.user.OidcUser user, + org.springframework.security.oauth2.client.oidc.userinfo.OidcUserRequest userRequest)
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/Okta.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/Okta.html new file mode 100644 index 000000000..f9ddf6c03 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/Okta.html @@ -0,0 +1,226 @@ + + + + +Okta (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Okta

+
+
java.lang.Object +
com.okta.spring.boot.oauth.Okta
+
+
+
+
public final class Okta +extends Object
+
Okta + Spring Security utility methods.
+
+
Since:
+
1.2.0
+
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static org.springframework.security.config.annotation.web.builders.HttpSecurity
    +
    configureOAuth2WithPkce(org.springframework.security.config.annotation.web.builders.HttpSecurity http, + org.springframework.security.oauth2.client.registration.ClientRegistrationRepository clientRegistrationRepository)
    +
    +
    Configures the http with an OAuth2 Login, that supports PKCE.
    +
    +
    static org.springframework.security.config.web.server.ServerHttpSecurity
    +
    configureOAuth2WithPkce(org.springframework.security.config.web.server.ServerHttpSecurity http, + org.springframework.security.oauth2.client.registration.ReactiveClientRegistrationRepository clientRegistrationRepository)
    +
    +
    Configures the http with an OAuth2 Login, that supports PKCE.
    +
    +
    static org.springframework.security.config.annotation.web.builders.HttpSecurity
    +
    configureResourceServer401ResponseBody(org.springframework.security.config.annotation.web.builders.HttpSecurity http)
    +
    +
    Configures the http to return a NON-EMPTY response body if the client supports the Media Type text/plain.
    +
    +
    static org.springframework.security.config.web.server.ServerHttpSecurity
    +
    configureResourceServer401ResponseBody(org.springframework.security.config.web.server.ServerHttpSecurity http)
    +
    +
    Configures the http to return a NON-EMPTY response body if the client supports the Media Type text/plain.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      configureResourceServer401ResponseBody

      +
      public static org.springframework.security.config.web.server.ServerHttpSecurity configureResourceServer401ResponseBody(org.springframework.security.config.web.server.ServerHttpSecurity http)
      +
      Configures the http to return a NON-EMPTY response body if the client supports the Media Type text/plain. + This is to work around an issue with Chrome, when a response body is empty, Chrome will show a `This site can’t be reached`, ERR_INVALID_RESPONSE error. + The body content will contain the HTTP Status and simple message such as `401 Unauthorized`.
      +
      +
      Parameters:
      +
      http - the ServerHttpSecurity to configure
      +
      Returns:
      +
      the http to allow method chaining
      +
      +
      +
    • +
    • +
      +

      configureResourceServer401ResponseBody

      +
      public static org.springframework.security.config.annotation.web.builders.HttpSecurity configureResourceServer401ResponseBody(org.springframework.security.config.annotation.web.builders.HttpSecurity http) + throws Exception
      +
      Configures the http to return a NON-EMPTY response body if the client supports the Media Type text/plain. + This is to work around an issue with Chrome, when a response body is empty, Chrome will show a `This site can’t be reached`, ERR_INVALID_RESPONSE error. + The body content will contain the HTTP Status and simple message such as `401 Unauthorized`.
      +
      +
      Parameters:
      +
      http - the HttpSecurity to configure
      +
      Returns:
      +
      the http to allow method chaining
      +
      Throws:
      +
      Exception
      +
      +
      +
    • +
    • +
      +

      configureOAuth2WithPkce

      +
      public static org.springframework.security.config.web.server.ServerHttpSecurity configureOAuth2WithPkce(org.springframework.security.config.web.server.ServerHttpSecurity http, + org.springframework.security.oauth2.client.registration.ReactiveClientRegistrationRepository clientRegistrationRepository)
      +
      Configures the http with an OAuth2 Login, that supports PKCE. The default Spring Security implementation + only enables PKCE for public clients. +

      + NOTE: Enabling PKCE will be required for all clients (public and confidential) in the future OAuth 2.1 spec.

      +
      +
      Parameters:
      +
      http - the ServerHttpSecurity to configure
      +
      clientRegistrationRepository - the repository bean, this should be injected into the calling method.
      +
      Returns:
      +
      the http to allow method chaining
      +
      +
      +
    • +
    • +
      +

      configureOAuth2WithPkce

      +
      public static org.springframework.security.config.annotation.web.builders.HttpSecurity configureOAuth2WithPkce(org.springframework.security.config.annotation.web.builders.HttpSecurity http, + org.springframework.security.oauth2.client.registration.ClientRegistrationRepository clientRegistrationRepository) + throws Exception
      +
      Configures the http with an OAuth2 Login, that supports PKCE. The default Spring Security implementation + only enables PKCE for public clients. +

      + NOTE: Enabling PKCE will be required for all clients (public and confidential) in the future OAuth 2.1 spec.

      +
      +
      Parameters:
      +
      http - the HttpSecurity to configure
      +
      clientRegistrationRepository - the repository bean, this should be injected into the calling method.
      +
      Returns:
      +
      the http to allow method chaining
      +
      Throws:
      +
      Exception
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/class-use/AuthoritiesProvider.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/class-use/AuthoritiesProvider.html new file mode 100644 index 000000000..c983c2523 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/class-use/AuthoritiesProvider.html @@ -0,0 +1,62 @@ + + + + +Uses of Interface com.okta.spring.boot.oauth.AuthoritiesProvider (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Interface
com.okta.spring.boot.oauth.AuthoritiesProvider

+
+No usage of com.okta.spring.boot.oauth.AuthoritiesProvider
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/class-use/Okta.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/class-use/Okta.html new file mode 100644 index 000000000..efafe3fb8 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/class-use/Okta.html @@ -0,0 +1,62 @@ + + + + +Uses of Class com.okta.spring.boot.oauth.Okta (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.boot.oauth.Okta

+
+No usage of com.okta.spring.boot.oauth.Okta
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/config/OktaOAuth2Properties.Proxy.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/config/OktaOAuth2Properties.Proxy.html new file mode 100644 index 000000000..6136156b1 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/config/OktaOAuth2Properties.Proxy.html @@ -0,0 +1,230 @@ + + + + +OktaOAuth2Properties.Proxy (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class OktaOAuth2Properties.Proxy

+
+
java.lang.Object +
com.okta.spring.boot.oauth.config.OktaOAuth2Properties.Proxy
+
+
+
+
Enclosing class:
+
OktaOAuth2Properties
+
+
+
public static class OktaOAuth2Properties.Proxy +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Proxy

      +
      public Proxy()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getHost

      +
      public String getHost()
      +
      +
    • +
    • +
      +

      setHost

      +
      public void setHost(String host)
      +
      +
    • +
    • +
      +

      getPort

      +
      public int getPort()
      +
      +
    • +
    • +
      +

      setPort

      +
      public void setPort(int port)
      +
      +
    • +
    • +
      +

      getUsername

      +
      public String getUsername()
      +
      +
    • +
    • +
      +

      setUsername

      +
      public void setUsername(String username)
      +
      +
    • +
    • +
      +

      getPassword

      +
      public String getPassword()
      +
      +
    • +
    • +
      +

      setPassword

      +
      public void setPassword(String password)
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/config/OktaOAuth2Properties.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/config/OktaOAuth2Properties.html new file mode 100644 index 000000000..eb7e1bb3d --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/config/OktaOAuth2Properties.html @@ -0,0 +1,367 @@ + + + + +OktaOAuth2Properties (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class OktaOAuth2Properties

+
+
java.lang.Object +
com.okta.spring.boot.oauth.config.OktaOAuth2Properties
+
+
+
+
All Implemented Interfaces:
+
org.springframework.validation.Validator
+
+
+
@ConfigurationProperties("okta.oauth2") +public final class OktaOAuth2Properties +extends Object +implements org.springframework.validation.Validator
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      OktaOAuth2Properties

      +
      @Autowired +public OktaOAuth2Properties(@Autowired(required=false) + org.springframework.boot.autoconfigure.security.oauth2.client.OAuth2ClientProperties clientProperties)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getClientId

      +
      public String getClientId()
      +
      +
    • +
    • +
      +

      setClientId

      +
      public void setClientId(String clientId)
      +
      +
    • +
    • +
      +

      getClientSecret

      +
      public String getClientSecret()
      +
      +
    • +
    • +
      +

      setClientSecret

      +
      public void setClientSecret(String clientSecret)
      +
      +
    • +
    • +
      +

      getIssuer

      +
      public String getIssuer()
      +
      +
    • +
    • +
      +

      setIssuer

      +
      public void setIssuer(String issuer)
      +
      +
    • +
    • +
      +

      getAudience

      +
      public String getAudience()
      +
      +
    • +
    • +
      +

      setAudience

      +
      public void setAudience(String audience)
      +
      +
    • +
    • +
      +

      getGroupsClaim

      +
      public String getGroupsClaim()
      +
      +
    • +
    • +
      +

      setGroupsClaim

      +
      public void setGroupsClaim(String groupsClaim)
      +
      +
    • +
    • +
      +

      getScopes

      +
      public Set<String> getScopes()
      +
      +
    • +
    • +
      +

      setScopes

      +
      public void setScopes(Set<String> scopes)
      +
      +
    • +
    • +
      +

      getRedirectUri

      +
      public String getRedirectUri()
      +
      +
    • +
    • +
      +

      setRedirectUri

      +
      public void setRedirectUri(String redirectUri)
      +
      +
    • +
    • +
      +

      getPostLogoutRedirectUri

      +
      public String getPostLogoutRedirectUri()
      +
      +
    • +
    • +
      +

      setPostLogoutRedirectUri

      +
      public void setPostLogoutRedirectUri(String postLogoutRedirectUri)
      +
      +
    • +
    • +
      +

      getProxy

      +
      public OktaOAuth2Properties.Proxy getProxy()
      +
      +
    • +
    • +
      +

      setProxy

      +
      public void setProxy(OktaOAuth2Properties.Proxy proxy)
      +
      +
    • +
    • +
      +

      supports

      +
      public boolean supports(Class<?> clazz)
      +
      +
      Specified by:
      +
      supports in interface org.springframework.validation.Validator
      +
      +
      +
    • +
    • +
      +

      validate

      +
      public void validate(Object target, + org.springframework.validation.Errors errors)
      +
      +
      Specified by:
      +
      validate in interface org.springframework.validation.Validator
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/config/class-use/OktaOAuth2Properties.Proxy.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/config/class-use/OktaOAuth2Properties.Proxy.html new file mode 100644 index 000000000..6558bad9e --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/config/class-use/OktaOAuth2Properties.Proxy.html @@ -0,0 +1,96 @@ + + + + +Uses of Class com.okta.spring.boot.oauth.config.OktaOAuth2Properties.Proxy (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.boot.oauth.config.OktaOAuth2Properties.Proxy

+
+
Packages that use OktaOAuth2Properties.Proxy
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/config/class-use/OktaOAuth2Properties.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/config/class-use/OktaOAuth2Properties.html new file mode 100644 index 000000000..0ac1e3487 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/config/class-use/OktaOAuth2Properties.html @@ -0,0 +1,87 @@ + + + + +Uses of Class com.okta.spring.boot.oauth.config.OktaOAuth2Properties (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.boot.oauth.config.OktaOAuth2Properties

+
+
Packages that use OktaOAuth2Properties
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/config/package-summary.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/config/package-summary.html new file mode 100644 index 000000000..4c7ac89a4 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/config/package-summary.html @@ -0,0 +1,104 @@ + + + + +com.okta.spring.boot.oauth.config (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.okta.spring.boot.oauth.config

+
+
+
package com.okta.spring.boot.oauth.config
+
+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/config/package-tree.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/config/package-tree.html new file mode 100644 index 000000000..a600b3025 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/config/package-tree.html @@ -0,0 +1,77 @@ + + + + +com.okta.spring.boot.oauth.config Class Hierarchy (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.okta.spring.boot.oauth.config

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/config/package-use.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/config/package-use.html new file mode 100644 index 000000000..49fb7be11 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/config/package-use.html @@ -0,0 +1,97 @@ + + + + +Uses of Package com.okta.spring.boot.oauth.config (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
com.okta.spring.boot.oauth.config

+
+ + +
+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/env/OIDCMetadata.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/env/OIDCMetadata.html new file mode 100644 index 000000000..95464b1e9 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/env/OIDCMetadata.html @@ -0,0 +1,244 @@ + + + + +OIDCMetadata (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class OIDCMetadata

+
+
java.lang.Object +
com.okta.spring.boot.oauth.env.OIDCMetadata
+
+
+
+
public class OIDCMetadata +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      OIDCMetadata

      +
      public OIDCMetadata(String issuerWithPathKey)
      +
      +
    • +
    • +
      +

      OIDCMetadata

      +
      public OIDCMetadata(org.springframework.http.ResponseEntity<String> response) + throws com.fasterxml.jackson.core.JsonProcessingException
      +
      Fetch metadata from the ${issuer}/.well-known/openid-configuration endpoint
      +
      +
      Parameters:
      +
      response - well known metadata response
      +
      Throws:
      +
      com.fasterxml.jackson.core.JsonProcessingException
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      isAuth0

      +
      public boolean isAuth0()
      +
      +
    • +
    • +
      +

      getClientAuthenticationMethod

      +
      public String getClientAuthenticationMethod()
      +
      +
    • +
    • +
      +

      getScope

      +
      public String getScope()
      +
      +
    • +
    • +
      +

      getJwkSetURI

      +
      public String getJwkSetURI()
      +
      +
    • +
    • +
      +

      getAuthorizationURI

      +
      public String getAuthorizationURI()
      +
      +
    • +
    • +
      +

      getTokenURI

      +
      public String getTokenURI()
      +
      +
    • +
    • +
      +

      getUserInfoURI

      +
      public String getUserInfoURI()
      +
      +
    • +
    • +
      +

      getIntrospectionURI

      +
      public String getIntrospectionURI()
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/env/OktaEnvironmentPostProcessorApplicationListener.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/env/OktaEnvironmentPostProcessorApplicationListener.html new file mode 100644 index 000000000..2d5876e4b --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/env/OktaEnvironmentPostProcessorApplicationListener.html @@ -0,0 +1,212 @@ + + + + +OktaEnvironmentPostProcessorApplicationListener (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class OktaEnvironmentPostProcessorApplicationListener

+
+
java.lang.Object +
com.okta.spring.boot.oauth.env.OktaEnvironmentPostProcessorApplicationListener
+
+
+
+
All Implemented Interfaces:
+
EventListener, org.springframework.context.ApplicationListener<org.springframework.context.ApplicationEvent>, org.springframework.context.event.SmartApplicationListener, org.springframework.core.Ordered
+
+
+
public class OktaEnvironmentPostProcessorApplicationListener +extends Object +implements org.springframework.context.event.SmartApplicationListener, org.springframework.core.Ordered
+
+
+
    + +
  • +
    +

    Field Summary

    +
    +

    Fields inherited from interface org.springframework.core.Ordered

    +HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    int
    + +
     
    +
    void
    +
    onApplicationEvent(org.springframework.context.ApplicationEvent event)
    +
     
    +
    boolean
    +
    supportsEventType(Class<? extends org.springframework.context.ApplicationEvent> eventType)
    +
     
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +

    Methods inherited from interface org.springframework.context.event.SmartApplicationListener

    +getListenerId, supportsSourceType
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      OktaEnvironmentPostProcessorApplicationListener

      +
      public OktaEnvironmentPostProcessorApplicationListener()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      onApplicationEvent

      +
      public void onApplicationEvent(org.springframework.context.ApplicationEvent event)
      +
      +
      Specified by:
      +
      onApplicationEvent in interface org.springframework.context.ApplicationListener<org.springframework.context.ApplicationEvent>
      +
      +
      +
    • +
    • +
      +

      supportsEventType

      +
      public boolean supportsEventType(Class<? extends org.springframework.context.ApplicationEvent> eventType)
      +
      +
      Specified by:
      +
      supportsEventType in interface org.springframework.context.event.SmartApplicationListener
      +
      +
      +
    • +
    • +
      +

      getOrder

      +
      public int getOrder()
      +
      +
      Specified by:
      +
      getOrder in interface org.springframework.core.Ordered
      +
      Specified by:
      +
      getOrder in interface org.springframework.context.event.SmartApplicationListener
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/env/class-use/OIDCMetadata.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/env/class-use/OIDCMetadata.html new file mode 100644 index 000000000..820b6fed3 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/env/class-use/OIDCMetadata.html @@ -0,0 +1,62 @@ + + + + +Uses of Class com.okta.spring.boot.oauth.env.OIDCMetadata (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.boot.oauth.env.OIDCMetadata

+
+No usage of com.okta.spring.boot.oauth.env.OIDCMetadata
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/env/class-use/OktaEnvironmentPostProcessorApplicationListener.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/env/class-use/OktaEnvironmentPostProcessorApplicationListener.html new file mode 100644 index 000000000..83dd5f218 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/env/class-use/OktaEnvironmentPostProcessorApplicationListener.html @@ -0,0 +1,62 @@ + + + + +Uses of Class com.okta.spring.boot.oauth.env.OktaEnvironmentPostProcessorApplicationListener (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.boot.oauth.env.OktaEnvironmentPostProcessorApplicationListener

+
+No usage of com.okta.spring.boot.oauth.env.OktaEnvironmentPostProcessorApplicationListener
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/env/package-summary.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/env/package-summary.html new file mode 100644 index 000000000..8206ecc86 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/env/package-summary.html @@ -0,0 +1,104 @@ + + + + +com.okta.spring.boot.oauth.env (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.okta.spring.boot.oauth.env

+
+
+
package com.okta.spring.boot.oauth.env
+
+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/env/package-tree.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/env/package-tree.html new file mode 100644 index 000000000..8a86b02c5 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/env/package-tree.html @@ -0,0 +1,77 @@ + + + + +com.okta.spring.boot.oauth.env Class Hierarchy (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.okta.spring.boot.oauth.env

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/env/package-use.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/env/package-use.html new file mode 100644 index 000000000..3a7c2f23b --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/env/package-use.html @@ -0,0 +1,62 @@ + + + + +Uses of Package com.okta.spring.boot.oauth.env (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
com.okta.spring.boot.oauth.env

+
+No usage of com.okta.spring.boot.oauth.env
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/http/Auth0ClientRequestInterceptor.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/http/Auth0ClientRequestInterceptor.html new file mode 100644 index 000000000..e763b1a75 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/http/Auth0ClientRequestInterceptor.html @@ -0,0 +1,179 @@ + + + + +Auth0ClientRequestInterceptor (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Auth0ClientRequestInterceptor

+
+
java.lang.Object +
com.okta.spring.boot.oauth.http.Auth0ClientRequestInterceptor
+
+
+
+
All Implemented Interfaces:
+
org.springframework.http.client.ClientHttpRequestInterceptor
+
+
+
public final class Auth0ClientRequestInterceptor +extends Object +implements org.springframework.http.client.ClientHttpRequestInterceptor
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    org.springframework.http.client.ClientHttpResponse
    +
    intercept(org.springframework.http.HttpRequest request, + byte[] body, + org.springframework.http.client.ClientHttpRequestExecution execution)
    +
     
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Auth0ClientRequestInterceptor

      +
      public Auth0ClientRequestInterceptor()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      intercept

      +
      public org.springframework.http.client.ClientHttpResponse intercept(org.springframework.http.HttpRequest request, + byte[] body, + org.springframework.http.client.ClientHttpRequestExecution execution) + throws IOException
      +
      +
      Specified by:
      +
      intercept in interface org.springframework.http.client.ClientHttpRequestInterceptor
      +
      Throws:
      +
      IOException
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/http/UserAgentRequestInterceptor.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/http/UserAgentRequestInterceptor.html new file mode 100644 index 000000000..269462c2d --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/http/UserAgentRequestInterceptor.html @@ -0,0 +1,179 @@ + + + + +UserAgentRequestInterceptor (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class UserAgentRequestInterceptor

+
+
java.lang.Object +
com.okta.spring.boot.oauth.http.UserAgentRequestInterceptor
+
+
+
+
All Implemented Interfaces:
+
org.springframework.http.client.ClientHttpRequestInterceptor
+
+
+
public final class UserAgentRequestInterceptor +extends Object +implements org.springframework.http.client.ClientHttpRequestInterceptor
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    org.springframework.http.client.ClientHttpResponse
    +
    intercept(org.springframework.http.HttpRequest request, + byte[] body, + org.springframework.http.client.ClientHttpRequestExecution execution)
    +
     
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      UserAgentRequestInterceptor

      +
      public UserAgentRequestInterceptor()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      intercept

      +
      public org.springframework.http.client.ClientHttpResponse intercept(org.springframework.http.HttpRequest request, + byte[] body, + org.springframework.http.client.ClientHttpRequestExecution execution) + throws IOException
      +
      +
      Specified by:
      +
      intercept in interface org.springframework.http.client.ClientHttpRequestInterceptor
      +
      Throws:
      +
      IOException
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/http/class-use/Auth0ClientRequestInterceptor.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/http/class-use/Auth0ClientRequestInterceptor.html new file mode 100644 index 000000000..ae62aff64 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/http/class-use/Auth0ClientRequestInterceptor.html @@ -0,0 +1,62 @@ + + + + +Uses of Class com.okta.spring.boot.oauth.http.Auth0ClientRequestInterceptor (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.boot.oauth.http.Auth0ClientRequestInterceptor

+
+No usage of com.okta.spring.boot.oauth.http.Auth0ClientRequestInterceptor
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/http/class-use/UserAgentRequestInterceptor.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/http/class-use/UserAgentRequestInterceptor.html new file mode 100644 index 000000000..a2fc219cb --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/http/class-use/UserAgentRequestInterceptor.html @@ -0,0 +1,62 @@ + + + + +Uses of Class com.okta.spring.boot.oauth.http.UserAgentRequestInterceptor (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.boot.oauth.http.UserAgentRequestInterceptor

+
+No usage of com.okta.spring.boot.oauth.http.UserAgentRequestInterceptor
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/http/package-summary.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/http/package-summary.html new file mode 100644 index 000000000..8365d966f --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/http/package-summary.html @@ -0,0 +1,104 @@ + + + + +com.okta.spring.boot.oauth.http (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.okta.spring.boot.oauth.http

+
+
+
package com.okta.spring.boot.oauth.http
+
+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/http/package-tree.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/http/package-tree.html new file mode 100644 index 000000000..ae992dc52 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/http/package-tree.html @@ -0,0 +1,77 @@ + + + + +com.okta.spring.boot.oauth.http Class Hierarchy (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.okta.spring.boot.oauth.http

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/http/package-use.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/http/package-use.html new file mode 100644 index 000000000..253e74861 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/http/package-use.html @@ -0,0 +1,62 @@ + + + + +Uses of Package com.okta.spring.boot.oauth.http (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
com.okta.spring.boot.oauth.http

+
+No usage of com.okta.spring.boot.oauth.http
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/package-summary.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/package-summary.html new file mode 100644 index 000000000..4bded857b --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/package-summary.html @@ -0,0 +1,114 @@ + + + + +com.okta.spring.boot.oauth (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.okta.spring.boot.oauth

+
+
+
package com.okta.spring.boot.oauth
+
+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/package-tree.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/package-tree.html new file mode 100644 index 000000000..d768d2d8c --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/package-tree.html @@ -0,0 +1,82 @@ + + + + +com.okta.spring.boot.oauth Class Hierarchy (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.okta.spring.boot.oauth

+Package Hierarchies: + +
+
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • com.okta.spring.boot.oauth.Okta
    • +
    +
  • +
+
+
+

Interface Hierarchy

+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/oauth/package-use.html b/3.0.5/apidocs/com/okta/spring/boot/oauth/package-use.html new file mode 100644 index 000000000..b69277ef4 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/oauth/package-use.html @@ -0,0 +1,62 @@ + + + + +Uses of Package com.okta.spring.boot.oauth (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
com.okta.spring.boot.oauth

+
+No usage of com.okta.spring.boot.oauth
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/sdk/OktaSdkConfig.html b/3.0.5/apidocs/com/okta/spring/boot/sdk/OktaSdkConfig.html new file mode 100644 index 000000000..580f698bb --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/sdk/OktaSdkConfig.html @@ -0,0 +1,187 @@ + + + + +OktaSdkConfig (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class OktaSdkConfig

+
+
java.lang.Object +
com.okta.spring.boot.sdk.OktaSdkConfig
+
+
+
+
@AutoConfiguration +@Conditional(com.okta.spring.boot.sdk.OktaSdkConfig.OktaApiConditions.class) +@ConditionalOnClass(com.okta.sdk.client.Client.class) +@EnableConfigurationProperties(OktaClientProperties.class) +public class OktaSdkConfig +extends Object
+
Configure Okta's management SDK, and expose it as a Bean.
+
+
Since:
+
0.3.0
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      OktaSdkConfig

      +
      public OktaSdkConfig(OktaClientProperties oktaClientProperties, + @Autowired(required=false) + org.springframework.cache.CacheManager springCacheManager)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      oktaSdkClient

      +
      @Bean +protected com.okta.sdk.client.Client oktaSdkClient()
      +
      +
    • +
    • +
      +

      oktaSdkClientCredentials

      +
      @Bean +@ConditionalOnMissingBean +protected com.okta.sdk.authc.credentials.ClientCredentials oktaSdkClientCredentials()
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/sdk/cache/SpringCache.html b/3.0.5/apidocs/com/okta/spring/boot/sdk/cache/SpringCache.html new file mode 100644 index 000000000..df8a3eab4 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/sdk/cache/SpringCache.html @@ -0,0 +1,214 @@ + + + + +SpringCache (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SpringCache<K,V>

+
+
java.lang.Object +
com.okta.spring.boot.sdk.cache.SpringCache<K,V>
+
+
+
+
Type Parameters:
+
K - The cache key type
+
V - The cache value type
+
+
+
All Implemented Interfaces:
+
com.okta.sdk.cache.Cache<K,V>
+
+
+
public class SpringCache<K,V> +extends Object +implements com.okta.sdk.cache.Cache<K,V>
+
A Okta SDK Cache implementation that wraps a Spring Cache instance. + This allows the Okta SDK to use your existing Spring caching mechanism so you only need to configure one + caching implementation. +

+ This implementation effectively acts as an adapter or bridge from the Okta SDK cache API to the Spring cache API.

+
+
Since:
+
0.3.0
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SpringCache

      +
      public SpringCache(org.springframework.cache.Cache springCache)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      get

      +
      public V get(K key)
      +
      +
      Specified by:
      +
      get in interface com.okta.sdk.cache.Cache<K,V>
      +
      +
      +
    • +
    • +
      +

      put

      +
      public V put(K key, + V value)
      +
      +
      Specified by:
      +
      put in interface com.okta.sdk.cache.Cache<K,V>
      +
      +
      +
    • +
    • +
      +

      remove

      +
      public V remove(K key)
      +
      +
      Specified by:
      +
      remove in interface com.okta.sdk.cache.Cache<K,V>
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/sdk/cache/SpringCacheManager.html b/3.0.5/apidocs/com/okta/spring/boot/sdk/cache/SpringCacheManager.html new file mode 100644 index 000000000..dc8a72e85 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/sdk/cache/SpringCacheManager.html @@ -0,0 +1,239 @@ + + + + +SpringCacheManager (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SpringCacheManager

+
+
java.lang.Object +
com.okta.spring.boot.sdk.cache.SpringCacheManager
+
+
+
+
All Implemented Interfaces:
+
com.okta.sdk.cache.CacheManager, org.springframework.beans.factory.InitializingBean
+
+
+
public class SpringCacheManager +extends Object +implements com.okta.sdk.cache.CacheManager, org.springframework.beans.factory.InitializingBean
+
A Okta SDK CacheManager implementation that wraps a Spring + CacheManager instance. This allows the Okta SDK to use your + existing Spring caching mechanism so you only need to configure one caching implementation. +

+ This implementation effectively acts as an adapter or bridge from the Okta SDK cacheManager API to the Spring + CacheManager API.

+
+
Since:
+
0.3.0
+
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    SpringCacheManager(org.springframework.cache.CacheManager springCacheManager)
    +
    +
    Constructs a new SpringCacheManager instance that wraps (delegates to) the specified + Spring CacheManager instance.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    + +
     
    +
    <K, +V> com.okta.sdk.cache.Cache<K,V>
    + +
    +
    Consults the wrapped Spring CacheManager instance to obtain a + named Spring Cache instance.
    +
    +
    void
    +
    setSpringCacheManager(org.springframework.cache.CacheManager cacheManager)
    +
     
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SpringCacheManager

      +
      public SpringCacheManager()
      +
      +
    • +
    • +
      +

      SpringCacheManager

      +
      public SpringCacheManager(org.springframework.cache.CacheManager springCacheManager)
      +
      Constructs a new SpringCacheManager instance that wraps (delegates to) the specified + Spring CacheManager instance.
      +
      +
      Parameters:
      +
      springCacheManager - the target Spring cache manager to wrap.
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setSpringCacheManager

      +
      public void setSpringCacheManager(org.springframework.cache.CacheManager cacheManager)
      +
      +
    • +
    • +
      +

      afterPropertiesSet

      +
      public void afterPropertiesSet() + throws Exception
      +
      +
      Specified by:
      +
      afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
      +
      Throws:
      +
      Exception
      +
      +
      +
    • +
    • +
      +

      getCache

      +
      public <K, +V> com.okta.sdk.cache.Cache<K,V> getCache(String name)
      +
      Consults the wrapped Spring CacheManager instance to obtain a + named Spring Cache instance. The instance is wrapped and returned as a + SpringCache instance, which acts as a bridge/adapter over Spring's existing Cache API.
      +
      +
      Specified by:
      +
      getCache in interface com.okta.sdk.cache.CacheManager
      +
      Type Parameters:
      +
      K - The cache key type
      +
      V - The cache value type
      +
      Parameters:
      +
      name - the name of the cache to acquire.
      +
      Returns:
      +
      the Cache with the given name
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/sdk/cache/class-use/SpringCache.html b/3.0.5/apidocs/com/okta/spring/boot/sdk/cache/class-use/SpringCache.html new file mode 100644 index 000000000..16bb8b848 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/sdk/cache/class-use/SpringCache.html @@ -0,0 +1,62 @@ + + + + +Uses of Class com.okta.spring.boot.sdk.cache.SpringCache (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.boot.sdk.cache.SpringCache

+
+No usage of com.okta.spring.boot.sdk.cache.SpringCache
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/sdk/cache/class-use/SpringCacheManager.html b/3.0.5/apidocs/com/okta/spring/boot/sdk/cache/class-use/SpringCacheManager.html new file mode 100644 index 000000000..0cc8c84d0 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/sdk/cache/class-use/SpringCacheManager.html @@ -0,0 +1,62 @@ + + + + +Uses of Class com.okta.spring.boot.sdk.cache.SpringCacheManager (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.boot.sdk.cache.SpringCacheManager

+
+No usage of com.okta.spring.boot.sdk.cache.SpringCacheManager
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/sdk/cache/package-summary.html b/3.0.5/apidocs/com/okta/spring/boot/sdk/cache/package-summary.html new file mode 100644 index 000000000..3ab6bbcef --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/sdk/cache/package-summary.html @@ -0,0 +1,109 @@ + + + + +com.okta.spring.boot.sdk.cache (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.okta.spring.boot.sdk.cache

+
+
+
package com.okta.spring.boot.sdk.cache
+
+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/sdk/cache/package-tree.html b/3.0.5/apidocs/com/okta/spring/boot/sdk/cache/package-tree.html new file mode 100644 index 000000000..8473ecaa3 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/sdk/cache/package-tree.html @@ -0,0 +1,77 @@ + + + + +com.okta.spring.boot.sdk.cache Class Hierarchy (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.okta.spring.boot.sdk.cache

+Package Hierarchies: + +
+
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • com.okta.spring.boot.sdk.cache.SpringCache<K,V> (implements com.okta.sdk.cache.Cache<K,V>)
    • +
    • com.okta.spring.boot.sdk.cache.SpringCacheManager (implements com.okta.sdk.cache.CacheManager, org.springframework.beans.factory.InitializingBean)
    • +
    +
  • +
+
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/sdk/cache/package-use.html b/3.0.5/apidocs/com/okta/spring/boot/sdk/cache/package-use.html new file mode 100644 index 000000000..8b8bb15f6 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/sdk/cache/package-use.html @@ -0,0 +1,62 @@ + + + + +Uses of Package com.okta.spring.boot.sdk.cache (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
com.okta.spring.boot.sdk.cache

+
+No usage of com.okta.spring.boot.sdk.cache
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/sdk/class-use/OktaSdkConfig.html b/3.0.5/apidocs/com/okta/spring/boot/sdk/class-use/OktaSdkConfig.html new file mode 100644 index 000000000..544b2ffd2 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/sdk/class-use/OktaSdkConfig.html @@ -0,0 +1,62 @@ + + + + +Uses of Class com.okta.spring.boot.sdk.OktaSdkConfig (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.boot.sdk.OktaSdkConfig

+
+No usage of com.okta.spring.boot.sdk.OktaSdkConfig
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/sdk/config/OktaClientProperties.ClientProxyInfo.html b/3.0.5/apidocs/com/okta/spring/boot/sdk/config/OktaClientProperties.ClientProxyInfo.html new file mode 100644 index 000000000..fba67bd6e --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/sdk/config/OktaClientProperties.ClientProxyInfo.html @@ -0,0 +1,230 @@ + + + + +OktaClientProperties.ClientProxyInfo (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class OktaClientProperties.ClientProxyInfo

+
+
java.lang.Object +
com.okta.spring.boot.sdk.config.OktaClientProperties.ClientProxyInfo
+
+
+
+
Enclosing class:
+
OktaClientProperties
+
+
+
public static class OktaClientProperties.ClientProxyInfo +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ClientProxyInfo

      +
      public ClientProxyInfo()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getHostname

      +
      public String getHostname()
      +
      +
    • +
    • +
      +

      setHostname

      +
      public void setHostname(String hostname)
      +
      +
    • +
    • +
      +

      getPort

      +
      public int getPort()
      +
      +
    • +
    • +
      +

      setPort

      +
      public void setPort(int port)
      +
      +
    • +
    • +
      +

      getUsername

      +
      public String getUsername()
      +
      +
    • +
    • +
      +

      setUsername

      +
      public void setUsername(String username)
      +
      +
    • +
    • +
      +

      getPassword

      +
      public String getPassword()
      +
      +
    • +
    • +
      +

      setPassword

      +
      public void setPassword(String password)
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/sdk/config/OktaClientProperties.html b/3.0.5/apidocs/com/okta/spring/boot/sdk/config/OktaClientProperties.html new file mode 100644 index 000000000..3c32cf3f9 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/sdk/config/OktaClientProperties.html @@ -0,0 +1,242 @@ + + + + +OktaClientProperties (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class OktaClientProperties

+
+
java.lang.Object +
com.okta.spring.boot.sdk.config.OktaClientProperties
+
+
+
+
@ConfigurationProperties("okta.client") +public class OktaClientProperties +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      OktaClientProperties

      +
      public OktaClientProperties()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getOrgUrl

      +
      public String getOrgUrl()
      +
      +
    • +
    • +
      +

      setOrgUrl

      +
      public void setOrgUrl(String orgUrl)
      +
      +
    • +
    • +
      +

      getToken

      +
      public String getToken()
      +
      +
    • +
    • +
      +

      setToken

      +
      public void setToken(String token)
      +
      +
    • +
    • +
      +

      getConnectionTimeout

      +
      public int getConnectionTimeout()
      +
      +
    • +
    • +
      +

      setConnectionTimeout

      +
      public void setConnectionTimeout(int connectionTimeout)
      +
      +
    • +
    • +
      +

      getProxy

      + +
      +
    • +
    • +
      +

      setProxy

      +
      public void setProxy(OktaClientProperties.ClientProxyInfo proxy)
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/sdk/config/class-use/OktaClientProperties.ClientProxyInfo.html b/3.0.5/apidocs/com/okta/spring/boot/sdk/config/class-use/OktaClientProperties.ClientProxyInfo.html new file mode 100644 index 000000000..840460759 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/sdk/config/class-use/OktaClientProperties.ClientProxyInfo.html @@ -0,0 +1,96 @@ + + + + +Uses of Class com.okta.spring.boot.sdk.config.OktaClientProperties.ClientProxyInfo (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.boot.sdk.config.OktaClientProperties.ClientProxyInfo

+
+ +
+
Package
+
Description
+ +
 
+
+
+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/sdk/config/class-use/OktaClientProperties.html b/3.0.5/apidocs/com/okta/spring/boot/sdk/config/class-use/OktaClientProperties.html new file mode 100644 index 000000000..e4e3554ee --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/sdk/config/class-use/OktaClientProperties.html @@ -0,0 +1,88 @@ + + + + +Uses of Class com.okta.spring.boot.sdk.config.OktaClientProperties (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.boot.sdk.config.OktaClientProperties

+
+
Packages that use OktaClientProperties
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/sdk/config/package-summary.html b/3.0.5/apidocs/com/okta/spring/boot/sdk/config/package-summary.html new file mode 100644 index 000000000..55fe9cea5 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/sdk/config/package-summary.html @@ -0,0 +1,104 @@ + + + + +com.okta.spring.boot.sdk.config (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.okta.spring.boot.sdk.config

+
+
+
package com.okta.spring.boot.sdk.config
+
+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/sdk/config/package-tree.html b/3.0.5/apidocs/com/okta/spring/boot/sdk/config/package-tree.html new file mode 100644 index 000000000..94dbb91c4 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/sdk/config/package-tree.html @@ -0,0 +1,77 @@ + + + + +com.okta.spring.boot.sdk.config Class Hierarchy (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.okta.spring.boot.sdk.config

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/sdk/config/package-use.html b/3.0.5/apidocs/com/okta/spring/boot/sdk/config/package-use.html new file mode 100644 index 000000000..acdaa3e7a --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/sdk/config/package-use.html @@ -0,0 +1,97 @@ + + + + +Uses of Package com.okta.spring.boot.sdk.config (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
com.okta.spring.boot.sdk.config

+
+ + +
+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/sdk/env/package-summary.html b/3.0.5/apidocs/com/okta/spring/boot/sdk/env/package-summary.html new file mode 100644 index 000000000..d8762e71c --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/sdk/env/package-summary.html @@ -0,0 +1,91 @@ + + + + +com.okta.spring.boot.sdk.env (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.okta.spring.boot.sdk.env

+
+
+
package com.okta.spring.boot.sdk.env
+
+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/sdk/env/package-tree.html b/3.0.5/apidocs/com/okta/spring/boot/sdk/env/package-tree.html new file mode 100644 index 000000000..d8a630f3f --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/sdk/env/package-tree.html @@ -0,0 +1,66 @@ + + + + +com.okta.spring.boot.sdk.env Class Hierarchy (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.okta.spring.boot.sdk.env

+Package Hierarchies: + +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/sdk/env/package-use.html b/3.0.5/apidocs/com/okta/spring/boot/sdk/env/package-use.html new file mode 100644 index 000000000..1e39681af --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/sdk/env/package-use.html @@ -0,0 +1,62 @@ + + + + +Uses of Package com.okta.spring.boot.sdk.env (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
com.okta.spring.boot.sdk.env

+
+No usage of com.okta.spring.boot.sdk.env
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/sdk/package-summary.html b/3.0.5/apidocs/com/okta/spring/boot/sdk/package-summary.html new file mode 100644 index 000000000..f8059128f --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/sdk/package-summary.html @@ -0,0 +1,104 @@ + + + + +com.okta.spring.boot.sdk (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.okta.spring.boot.sdk

+
+
+
package com.okta.spring.boot.sdk
+
+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/sdk/package-tree.html b/3.0.5/apidocs/com/okta/spring/boot/sdk/package-tree.html new file mode 100644 index 000000000..cfe4f21ad --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/sdk/package-tree.html @@ -0,0 +1,76 @@ + + + + +com.okta.spring.boot.sdk Class Hierarchy (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.okta.spring.boot.sdk

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/boot/sdk/package-use.html b/3.0.5/apidocs/com/okta/spring/boot/sdk/package-use.html new file mode 100644 index 000000000..63933a284 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/boot/sdk/package-use.html @@ -0,0 +1,62 @@ + + + + +Uses of Package com.okta.spring.boot.sdk (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
com.okta.spring.boot.sdk

+
+No usage of com.okta.spring.boot.sdk
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/example/HostedLoginCodeFlowExampleApplication.html b/3.0.5/apidocs/com/okta/spring/example/HostedLoginCodeFlowExampleApplication.html new file mode 100644 index 000000000..1690d099a --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/example/HostedLoginCodeFlowExampleApplication.html @@ -0,0 +1,165 @@ + + + + +HostedLoginCodeFlowExampleApplication (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class HostedLoginCodeFlowExampleApplication

+
+
java.lang.Object +
com.okta.spring.example.HostedLoginCodeFlowExampleApplication
+
+
+
+
@SpringBootApplication +@EnableMethodSecurity(securedEnabled=true) +public class HostedLoginCodeFlowExampleApplication +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      HostedLoginCodeFlowExampleApplication

      +
      public HostedLoginCodeFlowExampleApplication()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      main

      +
      public static void main(String[] args)
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/example/ImplicitFlowApplication.html b/3.0.5/apidocs/com/okta/spring/example/ImplicitFlowApplication.html new file mode 100644 index 000000000..7a27c7fa3 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/example/ImplicitFlowApplication.html @@ -0,0 +1,166 @@ + + + + +ImplicitFlowApplication (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ImplicitFlowApplication

+
+
java.lang.Object +
com.okta.spring.example.ImplicitFlowApplication
+
+
+
+
@SpringBootApplication +@EnableMethodSecurity(prePostEnabled=true, + securedEnabled=true) +public class ImplicitFlowApplication +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ImplicitFlowApplication

      +
      public ImplicitFlowApplication()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      main

      +
      public static void main(String[] args)
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/example/RedirectCodeFlowApplication.html b/3.0.5/apidocs/com/okta/spring/example/RedirectCodeFlowApplication.html new file mode 100644 index 000000000..1a2e6ad38 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/example/RedirectCodeFlowApplication.html @@ -0,0 +1,165 @@ + + + + +RedirectCodeFlowApplication (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class RedirectCodeFlowApplication

+
+
java.lang.Object +
com.okta.spring.example.RedirectCodeFlowApplication
+
+
+
+
@SpringBootApplication +@EnableMethodSecurity(securedEnabled=true) +public class RedirectCodeFlowApplication +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      RedirectCodeFlowApplication

      +
      public RedirectCodeFlowApplication()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      main

      +
      public static void main(String[] args)
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/example/class-use/HostedLoginCodeFlowExampleApplication.html b/3.0.5/apidocs/com/okta/spring/example/class-use/HostedLoginCodeFlowExampleApplication.html new file mode 100644 index 000000000..2a85e00e5 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/example/class-use/HostedLoginCodeFlowExampleApplication.html @@ -0,0 +1,62 @@ + + + + +Uses of Class com.okta.spring.example.HostedLoginCodeFlowExampleApplication (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.example.HostedLoginCodeFlowExampleApplication

+
+No usage of com.okta.spring.example.HostedLoginCodeFlowExampleApplication
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/example/class-use/ImplicitFlowApplication.html b/3.0.5/apidocs/com/okta/spring/example/class-use/ImplicitFlowApplication.html new file mode 100644 index 000000000..a5e6c1462 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/example/class-use/ImplicitFlowApplication.html @@ -0,0 +1,62 @@ + + + + +Uses of Class com.okta.spring.example.ImplicitFlowApplication (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.example.ImplicitFlowApplication

+
+No usage of com.okta.spring.example.ImplicitFlowApplication
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/example/class-use/RedirectCodeFlowApplication.html b/3.0.5/apidocs/com/okta/spring/example/class-use/RedirectCodeFlowApplication.html new file mode 100644 index 000000000..74e68050e --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/example/class-use/RedirectCodeFlowApplication.html @@ -0,0 +1,62 @@ + + + + +Uses of Class com.okta.spring.example.RedirectCodeFlowApplication (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.example.RedirectCodeFlowApplication

+
+No usage of com.okta.spring.example.RedirectCodeFlowApplication
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/example/controllers/LoginController.html b/3.0.5/apidocs/com/okta/spring/example/controllers/LoginController.html new file mode 100644 index 000000000..561bf3d17 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/example/controllers/LoginController.html @@ -0,0 +1,171 @@ + + + + +LoginController (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LoginController

+
+
java.lang.Object +
com.okta.spring.example.controllers.LoginController
+
+
+
+
@Controller +public class LoginController +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    + +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/example/controllers/SignInWidgetConfigController.WidgetConfig.html b/3.0.5/apidocs/com/okta/spring/example/controllers/SignInWidgetConfigController.WidgetConfig.html new file mode 100644 index 000000000..3aa66bc64 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/example/controllers/SignInWidgetConfigController.WidgetConfig.html @@ -0,0 +1,185 @@ + + + + +SignInWidgetConfigController.WidgetConfig (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SignInWidgetConfigController.WidgetConfig

+
+
java.lang.Object +
com.okta.spring.example.controllers.SignInWidgetConfigController.WidgetConfig
+
+
+
+
Enclosing class:
+
SignInWidgetConfigController
+
+
+
public static class SignInWidgetConfigController.WidgetConfig +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      baseUrl

      +
      public String baseUrl
      +
      +
    • +
    • +
      +

      clientId

      +
      public String clientId
      +
      +
    • +
    • +
      +

      authParams

      +
      public Map<String,Object> authParams
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      WidgetConfig

      +
      public WidgetConfig(String issuer, + String clientId)
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/example/controllers/SignInWidgetConfigController.html b/3.0.5/apidocs/com/okta/spring/example/controllers/SignInWidgetConfigController.html new file mode 100644 index 000000000..1b164be01 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/example/controllers/SignInWidgetConfigController.html @@ -0,0 +1,184 @@ + + + + +SignInWidgetConfigController (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class SignInWidgetConfigController

+
+
java.lang.Object +
com.okta.spring.example.controllers.SignInWidgetConfigController
+
+
+
+
@RestController +public class SignInWidgetConfigController +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      SignInWidgetConfigController

      +
      public SignInWidgetConfigController(@Value("${okta.oauth2.issuer}") + String issuer, + @Value("${okta.oauth2.client-id}") + String clientId)
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/example/controllers/WelcomeController.Welcome.html b/3.0.5/apidocs/com/okta/spring/example/controllers/WelcomeController.Welcome.html new file mode 100644 index 000000000..490774e6d --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/example/controllers/WelcomeController.Welcome.html @@ -0,0 +1,176 @@ + + + + +WelcomeController.Welcome (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class WelcomeController.Welcome

+
+
java.lang.Object +
com.okta.spring.example.controllers.WelcomeController.Welcome
+
+
+
+
Enclosing class:
+
WelcomeController
+
+
+
public static class WelcomeController.Welcome +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      messageOfTheDay

      +
      public String messageOfTheDay
      +
      +
    • +
    • +
      +

      username

      +
      public String username
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Welcome

      +
      public Welcome(String messageOfTheDay, + String username)
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/example/controllers/WelcomeController.html b/3.0.5/apidocs/com/okta/spring/example/controllers/WelcomeController.html new file mode 100644 index 000000000..b5156dc97 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/example/controllers/WelcomeController.html @@ -0,0 +1,189 @@ + + + + +WelcomeController (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class WelcomeController

+
+
java.lang.Object +
com.okta.spring.example.controllers.WelcomeController
+
+
+
+
@RestController +public class WelcomeController +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      WelcomeController

      +
      public WelcomeController()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getMessageOfTheDay

      +
      @GetMapping("/welcome") +@PreAuthorize("hasAuthority(\'SCOPE_email\')") +public WelcomeController.Welcome getMessageOfTheDay(Principal principal)
      +
      Simple example REST endpoint that returns a static message. This controller also serves as an example for checking + an OAuth scope and client roles (parsed from an access token).
      +
      +
      Returns:
      +
      a static welcome message
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/example/controllers/class-use/LoginController.html b/3.0.5/apidocs/com/okta/spring/example/controllers/class-use/LoginController.html new file mode 100644 index 000000000..48bbb09b2 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/example/controllers/class-use/LoginController.html @@ -0,0 +1,62 @@ + + + + +Uses of Class com.okta.spring.example.controllers.LoginController (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.example.controllers.LoginController

+
+No usage of com.okta.spring.example.controllers.LoginController
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/example/controllers/class-use/SignInWidgetConfigController.WidgetConfig.html b/3.0.5/apidocs/com/okta/spring/example/controllers/class-use/SignInWidgetConfigController.WidgetConfig.html new file mode 100644 index 000000000..0bc330a89 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/example/controllers/class-use/SignInWidgetConfigController.WidgetConfig.html @@ -0,0 +1,87 @@ + + + + +Uses of Class com.okta.spring.example.controllers.SignInWidgetConfigController.WidgetConfig (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.example.controllers.SignInWidgetConfigController.WidgetConfig

+
+ +
+
Package
+
Description
+ +
 
+
+
+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/example/controllers/class-use/SignInWidgetConfigController.html b/3.0.5/apidocs/com/okta/spring/example/controllers/class-use/SignInWidgetConfigController.html new file mode 100644 index 000000000..55a654dc1 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/example/controllers/class-use/SignInWidgetConfigController.html @@ -0,0 +1,62 @@ + + + + +Uses of Class com.okta.spring.example.controllers.SignInWidgetConfigController (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.example.controllers.SignInWidgetConfigController

+
+No usage of com.okta.spring.example.controllers.SignInWidgetConfigController
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/example/controllers/class-use/WelcomeController.Welcome.html b/3.0.5/apidocs/com/okta/spring/example/controllers/class-use/WelcomeController.Welcome.html new file mode 100644 index 000000000..1fe3de145 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/example/controllers/class-use/WelcomeController.Welcome.html @@ -0,0 +1,89 @@ + + + + +Uses of Class com.okta.spring.example.controllers.WelcomeController.Welcome (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.example.controllers.WelcomeController.Welcome

+
+
Packages that use WelcomeController.Welcome
+
+
Package
+
Description
+ +
 
+
+
+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/example/controllers/class-use/WelcomeController.html b/3.0.5/apidocs/com/okta/spring/example/controllers/class-use/WelcomeController.html new file mode 100644 index 000000000..0963e2541 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/example/controllers/class-use/WelcomeController.html @@ -0,0 +1,62 @@ + + + + +Uses of Class com.okta.spring.example.controllers.WelcomeController (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.example.controllers.WelcomeController

+
+No usage of com.okta.spring.example.controllers.WelcomeController
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/example/controllers/package-summary.html b/3.0.5/apidocs/com/okta/spring/example/controllers/package-summary.html new file mode 100644 index 000000000..29c2b95bf --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/example/controllers/package-summary.html @@ -0,0 +1,108 @@ + + + + +com.okta.spring.example.controllers (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.okta.spring.example.controllers

+
+
+
package com.okta.spring.example.controllers
+
+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/example/controllers/package-tree.html b/3.0.5/apidocs/com/okta/spring/example/controllers/package-tree.html new file mode 100644 index 000000000..6014b5e0a --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/example/controllers/package-tree.html @@ -0,0 +1,80 @@ + + + + +com.okta.spring.example.controllers Class Hierarchy (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.okta.spring.example.controllers

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/example/controllers/package-use.html b/3.0.5/apidocs/com/okta/spring/example/controllers/package-use.html new file mode 100644 index 000000000..850a00871 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/example/controllers/package-use.html @@ -0,0 +1,86 @@ + + + + +Uses of Package com.okta.spring.example.controllers (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
com.okta.spring.example.controllers

+
+ +
+
Package
+
Description
+ +
 
+
+
+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/example/package-summary.html b/3.0.5/apidocs/com/okta/spring/example/package-summary.html new file mode 100644 index 000000000..2dc09e18e --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/example/package-summary.html @@ -0,0 +1,104 @@ + + + + +com.okta.spring.example (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.okta.spring.example

+
+
+
package com.okta.spring.example
+
+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/example/package-tree.html b/3.0.5/apidocs/com/okta/spring/example/package-tree.html new file mode 100644 index 000000000..51dc970a1 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/example/package-tree.html @@ -0,0 +1,78 @@ + + + + +com.okta.spring.example Class Hierarchy (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.okta.spring.example

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/example/package-use.html b/3.0.5/apidocs/com/okta/spring/example/package-use.html new file mode 100644 index 000000000..6baee95aa --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/example/package-use.html @@ -0,0 +1,62 @@ + + + + +Uses of Package com.okta.spring.example (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
com.okta.spring.example

+
+No usage of com.okta.spring.example
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/example/webflux/ReactiveApplication.html b/3.0.5/apidocs/com/okta/spring/example/webflux/ReactiveApplication.html new file mode 100644 index 000000000..8da5d1e94 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/example/webflux/ReactiveApplication.html @@ -0,0 +1,176 @@ + + + + +ReactiveApplication (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ReactiveApplication

+
+
java.lang.Object +
com.okta.spring.example.webflux.ReactiveApplication
+
+
+
+
@SpringBootApplication +@RestController +@EnableReactiveMethodSecurity +public class ReactiveApplication +extends Object
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static void
    +
    main(String[] args)
    +
     
    +
    reactor.core.publisher.Mono<org.springframework.security.oauth2.client.authentication.OAuth2AuthenticationToken>
    +
    userDetailsMono(reactor.core.publisher.Mono<org.springframework.security.oauth2.client.authentication.OAuth2AuthenticationToken> token)
    +
     
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ReactiveApplication

      +
      public ReactiveApplication()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      main

      +
      public static void main(String[] args)
      +
      +
    • +
    • +
      +

      userDetailsMono

      +
      @GetMapping("/userdetails") +public reactor.core.publisher.Mono<org.springframework.security.oauth2.client.authentication.OAuth2AuthenticationToken> userDetailsMono(reactor.core.publisher.Mono<org.springframework.security.oauth2.client.authentication.OAuth2AuthenticationToken> token)
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/example/webflux/class-use/ReactiveApplication.html b/3.0.5/apidocs/com/okta/spring/example/webflux/class-use/ReactiveApplication.html new file mode 100644 index 000000000..194ecc1b1 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/example/webflux/class-use/ReactiveApplication.html @@ -0,0 +1,62 @@ + + + + +Uses of Class com.okta.spring.example.webflux.ReactiveApplication (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.example.webflux.ReactiveApplication

+
+No usage of com.okta.spring.example.webflux.ReactiveApplication
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/example/webflux/package-summary.html b/3.0.5/apidocs/com/okta/spring/example/webflux/package-summary.html new file mode 100644 index 000000000..9538e2c7b --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/example/webflux/package-summary.html @@ -0,0 +1,100 @@ + + + + +com.okta.spring.example.webflux (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.okta.spring.example.webflux

+
+
+
package com.okta.spring.example.webflux
+
+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/example/webflux/package-tree.html b/3.0.5/apidocs/com/okta/spring/example/webflux/package-tree.html new file mode 100644 index 000000000..b6c6fa448 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/example/webflux/package-tree.html @@ -0,0 +1,76 @@ + + + + +com.okta.spring.example.webflux Class Hierarchy (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.okta.spring.example.webflux

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/example/webflux/package-use.html b/3.0.5/apidocs/com/okta/spring/example/webflux/package-use.html new file mode 100644 index 000000000..1ab7635df --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/example/webflux/package-use.html @@ -0,0 +1,62 @@ + + + + +Uses of Package com.okta.spring.example.webflux (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
com.okta.spring.example.webflux

+
+No usage of com.okta.spring.example.webflux
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/reactive/code/ReactiveRedirectCodeFlowApplication.html b/3.0.5/apidocs/com/okta/spring/tests/common/reactive/code/ReactiveRedirectCodeFlowApplication.html new file mode 100644 index 000000000..68d17c032 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/reactive/code/ReactiveRedirectCodeFlowApplication.html @@ -0,0 +1,198 @@ + + + + +ReactiveRedirectCodeFlowApplication (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ReactiveRedirectCodeFlowApplication

+
+
java.lang.Object +
com.okta.spring.tests.common.reactive.code.ReactiveRedirectCodeFlowApplication
+
+
+
+
@SpringBootApplication +@RestController +@EnableReactiveMethodSecurity +public class ReactiveRedirectCodeFlowApplication +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ReactiveRedirectCodeFlowApplication

      +
      public ReactiveRedirectCodeFlowApplication()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getMessageOfTheDay

      +
      @GetMapping("/") +public com.okta.spring.tests.common.reactive.code.ReactiveRedirectCodeFlowApplication.Message getMessageOfTheDay(Principal principal)
      +
      +
    • +
    • +
      +

      everyoneAccess

      +
      @GetMapping("/everyone") +@PreAuthorize("hasAuthority(\'Everyone\')") +public reactor.core.publisher.Mono<String> everyoneAccess(Principal principal)
      +
      +
    • +
    • +
      +

      invalidGroup

      +
      @GetMapping("/invalidGroup") +@PreAuthorize("hasAuthority(\'invalidGroup\')") +public reactor.core.publisher.Mono<String> invalidGroup()
      +
      +
    • +
    • +
      +

      main

      +
      public static void main(String[] args)
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/reactive/code/class-use/ReactiveRedirectCodeFlowApplication.html b/3.0.5/apidocs/com/okta/spring/tests/common/reactive/code/class-use/ReactiveRedirectCodeFlowApplication.html new file mode 100644 index 000000000..d2278fe58 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/reactive/code/class-use/ReactiveRedirectCodeFlowApplication.html @@ -0,0 +1,62 @@ + + + + +Uses of Class com.okta.spring.tests.common.reactive.code.ReactiveRedirectCodeFlowApplication (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.tests.common.reactive.code.ReactiveRedirectCodeFlowApplication

+
+No usage of com.okta.spring.tests.common.reactive.code.ReactiveRedirectCodeFlowApplication
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/reactive/code/package-summary.html b/3.0.5/apidocs/com/okta/spring/tests/common/reactive/code/package-summary.html new file mode 100644 index 000000000..edb3a43b1 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/reactive/code/package-summary.html @@ -0,0 +1,87 @@ + + + + +com.okta.spring.tests.common.reactive.code (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.okta.spring.tests.common.reactive.code

+
+
+
package com.okta.spring.tests.common.reactive.code
+
+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/reactive/code/package-tree.html b/3.0.5/apidocs/com/okta/spring/tests/common/reactive/code/package-tree.html new file mode 100644 index 000000000..6f7a0855f --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/reactive/code/package-tree.html @@ -0,0 +1,76 @@ + + + + +com.okta.spring.tests.common.reactive.code Class Hierarchy (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.okta.spring.tests.common.reactive.code

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/reactive/code/package-use.html b/3.0.5/apidocs/com/okta/spring/tests/common/reactive/code/package-use.html new file mode 100644 index 000000000..90b95899a --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/reactive/code/package-use.html @@ -0,0 +1,62 @@ + + + + +Uses of Package com.okta.spring.tests.common.reactive.code (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
com.okta.spring.tests.common.reactive.code

+
+No usage of com.okta.spring.tests.common.reactive.code
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/reactive/implicit/ReactiveImplicitFlowApplication.MessageOfTheDayController.html b/3.0.5/apidocs/com/okta/spring/tests/common/reactive/implicit/ReactiveImplicitFlowApplication.MessageOfTheDayController.html new file mode 100644 index 000000000..75e0b22fb --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/reactive/implicit/ReactiveImplicitFlowApplication.MessageOfTheDayController.html @@ -0,0 +1,204 @@ + + + + +ReactiveImplicitFlowApplication.MessageOfTheDayController (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ReactiveImplicitFlowApplication.MessageOfTheDayController

+
+
java.lang.Object +
com.okta.spring.tests.common.reactive.implicit.ReactiveImplicitFlowApplication.MessageOfTheDayController
+
+
+
+
Enclosing class:
+
ReactiveImplicitFlowApplication
+
+
+
@RestController +@CrossOrigin(origins="http://localhost:8080") +public static class ReactiveImplicitFlowApplication.MessageOfTheDayController +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      MessageOfTheDayController

      +
      public MessageOfTheDayController()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getUserDetails

      +
      @GetMapping("/api/userProfile") +@PreAuthorize("hasAuthority(\'SCOPE_profile\')") +public reactor.core.publisher.Mono<Map<String,Object>> getUserDetails(org.springframework.security.core.Authentication authentication)
      +
      +
    • +
    • +
      +

      messages

      +
      @GetMapping("/api/messages") +@PreAuthorize("hasAuthority(\'SCOPE_email\')") +public reactor.core.publisher.Mono<Map<String,Object>> messages()
      +
      +
    • +
    • +
      +

      getMessageOfTheDay

      +
      @GetMapping("/") +@PreAuthorize("hasAuthority(\'SCOPE_email\')") +public reactor.core.publisher.Mono<String> getMessageOfTheDay(Principal principal)
      +
      +
    • +
    • +
      +

      everyoneAccess

      +
      @GetMapping("/everyone") +@PreAuthorize("hasAuthority(\'Everyone\')") +public reactor.core.publisher.Mono<String> everyoneAccess(Principal principal)
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/reactive/implicit/ReactiveImplicitFlowApplication.html b/3.0.5/apidocs/com/okta/spring/tests/common/reactive/implicit/ReactiveImplicitFlowApplication.html new file mode 100644 index 000000000..68aa49764 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/reactive/implicit/ReactiveImplicitFlowApplication.html @@ -0,0 +1,180 @@ + + + + +ReactiveImplicitFlowApplication (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ReactiveImplicitFlowApplication

+
+
java.lang.Object +
com.okta.spring.tests.common.reactive.implicit.ReactiveImplicitFlowApplication
+
+
+
+
@SpringBootApplication +@EnableReactiveMethodSecurity +public class ReactiveImplicitFlowApplication +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ReactiveImplicitFlowApplication

      +
      public ReactiveImplicitFlowApplication()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      main

      +
      public static void main(String[] args)
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/reactive/implicit/class-use/ReactiveImplicitFlowApplication.MessageOfTheDayController.html b/3.0.5/apidocs/com/okta/spring/tests/common/reactive/implicit/class-use/ReactiveImplicitFlowApplication.MessageOfTheDayController.html new file mode 100644 index 000000000..83db1d9c1 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/reactive/implicit/class-use/ReactiveImplicitFlowApplication.MessageOfTheDayController.html @@ -0,0 +1,62 @@ + + + + +Uses of Class com.okta.spring.tests.common.reactive.implicit.ReactiveImplicitFlowApplication.MessageOfTheDayController (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.tests.common.reactive.implicit.ReactiveImplicitFlowApplication.MessageOfTheDayController

+
+No usage of com.okta.spring.tests.common.reactive.implicit.ReactiveImplicitFlowApplication.MessageOfTheDayController
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/reactive/implicit/class-use/ReactiveImplicitFlowApplication.html b/3.0.5/apidocs/com/okta/spring/tests/common/reactive/implicit/class-use/ReactiveImplicitFlowApplication.html new file mode 100644 index 000000000..1ef588a25 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/reactive/implicit/class-use/ReactiveImplicitFlowApplication.html @@ -0,0 +1,62 @@ + + + + +Uses of Class com.okta.spring.tests.common.reactive.implicit.ReactiveImplicitFlowApplication (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.tests.common.reactive.implicit.ReactiveImplicitFlowApplication

+
+No usage of com.okta.spring.tests.common.reactive.implicit.ReactiveImplicitFlowApplication
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/reactive/implicit/package-summary.html b/3.0.5/apidocs/com/okta/spring/tests/common/reactive/implicit/package-summary.html new file mode 100644 index 000000000..49db9b21c --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/reactive/implicit/package-summary.html @@ -0,0 +1,89 @@ + + + + +com.okta.spring.tests.common.reactive.implicit (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.okta.spring.tests.common.reactive.implicit

+
+
+
package com.okta.spring.tests.common.reactive.implicit
+
+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/reactive/implicit/package-tree.html b/3.0.5/apidocs/com/okta/spring/tests/common/reactive/implicit/package-tree.html new file mode 100644 index 000000000..548786765 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/reactive/implicit/package-tree.html @@ -0,0 +1,77 @@ + + + + +com.okta.spring.tests.common.reactive.implicit Class Hierarchy (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.okta.spring.tests.common.reactive.implicit

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/reactive/implicit/package-use.html b/3.0.5/apidocs/com/okta/spring/tests/common/reactive/implicit/package-use.html new file mode 100644 index 000000000..9b51850c3 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/reactive/implicit/package-use.html @@ -0,0 +1,62 @@ + + + + +Uses of Package com.okta.spring.tests.common.reactive.implicit (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
com.okta.spring.tests.common.reactive.implicit

+
+No usage of com.okta.spring.tests.common.reactive.implicit
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/servlet/code/BasicRedirectCodeFlowApplication.html b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/code/BasicRedirectCodeFlowApplication.html new file mode 100644 index 000000000..4649c2258 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/code/BasicRedirectCodeFlowApplication.html @@ -0,0 +1,200 @@ + + + + +BasicRedirectCodeFlowApplication (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BasicRedirectCodeFlowApplication

+
+
java.lang.Object +
com.okta.spring.tests.common.servlet.code.BasicRedirectCodeFlowApplication
+
+
+
+
@SpringBootApplication +@RestController +@EnableGlobalMethodSecurity(prePostEnabled=true, + securedEnabled=true) +public class BasicRedirectCodeFlowApplication +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      BasicRedirectCodeFlowApplication

      +
      public BasicRedirectCodeFlowApplication()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getMessageOfTheDay

      +
      @GetMapping("/") +@PreAuthorize("hasAuthority(\'SCOPE_email\')") +public String getMessageOfTheDay(Principal principal)
      +
      +
    • +
    • +
      +

      everyoneAccess

      +
      @GetMapping("/everyone") +@PreAuthorize("hasAuthority(\'Everyone\')") +public String everyoneAccess(Principal principal)
      +
      +
    • +
    • +
      +

      invalidGroup

      +
      @GetMapping("/invalidGroup") +@PreAuthorize("hasAuthority(\'invalidGroup\')") +public String invalidGroup()
      +
      +
    • +
    • +
      +

      main

      +
      public static void main(String[] args)
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/servlet/code/class-use/BasicRedirectCodeFlowApplication.html b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/code/class-use/BasicRedirectCodeFlowApplication.html new file mode 100644 index 000000000..6afa931a0 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/code/class-use/BasicRedirectCodeFlowApplication.html @@ -0,0 +1,62 @@ + + + + +Uses of Class com.okta.spring.tests.common.servlet.code.BasicRedirectCodeFlowApplication (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.tests.common.servlet.code.BasicRedirectCodeFlowApplication

+
+No usage of com.okta.spring.tests.common.servlet.code.BasicRedirectCodeFlowApplication
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/servlet/code/package-summary.html b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/code/package-summary.html new file mode 100644 index 000000000..682f0bd55 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/code/package-summary.html @@ -0,0 +1,87 @@ + + + + +com.okta.spring.tests.common.servlet.code (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.okta.spring.tests.common.servlet.code

+
+
+
package com.okta.spring.tests.common.servlet.code
+
+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/servlet/code/package-tree.html b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/code/package-tree.html new file mode 100644 index 000000000..90344c78e --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/code/package-tree.html @@ -0,0 +1,76 @@ + + + + +com.okta.spring.tests.common.servlet.code Class Hierarchy (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.okta.spring.tests.common.servlet.code

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/servlet/code/package-use.html b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/code/package-use.html new file mode 100644 index 000000000..55a0f0b07 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/code/package-use.html @@ -0,0 +1,62 @@ + + + + +Uses of Package com.okta.spring.tests.common.servlet.code (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
com.okta.spring.tests.common.servlet.code

+
+No usage of com.okta.spring.tests.common.servlet.code
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/servlet/jwt/BasicJwtResourceServerApplication.MessageOfTheDayController.html b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/jwt/BasicJwtResourceServerApplication.MessageOfTheDayController.html new file mode 100644 index 000000000..6d03951d4 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/jwt/BasicJwtResourceServerApplication.MessageOfTheDayController.html @@ -0,0 +1,204 @@ + + + + +BasicJwtResourceServerApplication.MessageOfTheDayController (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BasicJwtResourceServerApplication.MessageOfTheDayController

+
+
java.lang.Object +
com.okta.spring.tests.common.servlet.jwt.BasicJwtResourceServerApplication.MessageOfTheDayController
+
+
+
+
Enclosing class:
+
BasicJwtResourceServerApplication
+
+
+
@RestController +@CrossOrigin(origins="http://localhost:8080") +public static class BasicJwtResourceServerApplication.MessageOfTheDayController +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      MessageOfTheDayController

      +
      public MessageOfTheDayController()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getUserDetails

      +
      @GetMapping("/api/userProfile") +@PreAuthorize("hasAuthority(\'SCOPE_profile\')") +public Map<String,Object> getUserDetails(org.springframework.security.core.Authentication authentication)
      +
      +
    • +
    • +
      +

      messages

      +
      @GetMapping("/api/messages") +@PreAuthorize("hasAuthority(\'SCOPE_email\')") +public Map<String,Object> messages()
      +
      +
    • +
    • +
      +

      getMessageOfTheDay

      +
      @GetMapping("/") +@PreAuthorize("hasAuthority(\'SCOPE_email\')") +public String getMessageOfTheDay(Principal principal)
      +
      +
    • +
    • +
      +

      everyoneAccess

      +
      @GetMapping("/everyone") +@PreAuthorize("hasAuthority(\'Everyone\')") +public String everyoneAccess(Principal principal)
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/servlet/jwt/BasicJwtResourceServerApplication.html b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/jwt/BasicJwtResourceServerApplication.html new file mode 100644 index 000000000..0b795dca2 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/jwt/BasicJwtResourceServerApplication.html @@ -0,0 +1,181 @@ + + + + +BasicJwtResourceServerApplication (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BasicJwtResourceServerApplication

+
+
java.lang.Object +
com.okta.spring.tests.common.servlet.jwt.BasicJwtResourceServerApplication
+
+
+
+
@SpringBootApplication +@EnableGlobalMethodSecurity(prePostEnabled=true, + securedEnabled=true) +public class BasicJwtResourceServerApplication +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      BasicJwtResourceServerApplication

      +
      public BasicJwtResourceServerApplication()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      main

      +
      public static void main(String[] args)
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/servlet/jwt/class-use/BasicJwtResourceServerApplication.MessageOfTheDayController.html b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/jwt/class-use/BasicJwtResourceServerApplication.MessageOfTheDayController.html new file mode 100644 index 000000000..a5579f511 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/jwt/class-use/BasicJwtResourceServerApplication.MessageOfTheDayController.html @@ -0,0 +1,62 @@ + + + + +Uses of Class com.okta.spring.tests.common.servlet.jwt.BasicJwtResourceServerApplication.MessageOfTheDayController (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.tests.common.servlet.jwt.BasicJwtResourceServerApplication.MessageOfTheDayController

+
+No usage of com.okta.spring.tests.common.servlet.jwt.BasicJwtResourceServerApplication.MessageOfTheDayController
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/servlet/jwt/class-use/BasicJwtResourceServerApplication.html b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/jwt/class-use/BasicJwtResourceServerApplication.html new file mode 100644 index 000000000..5e4776356 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/jwt/class-use/BasicJwtResourceServerApplication.html @@ -0,0 +1,62 @@ + + + + +Uses of Class com.okta.spring.tests.common.servlet.jwt.BasicJwtResourceServerApplication (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.tests.common.servlet.jwt.BasicJwtResourceServerApplication

+
+No usage of com.okta.spring.tests.common.servlet.jwt.BasicJwtResourceServerApplication
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/servlet/jwt/package-summary.html b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/jwt/package-summary.html new file mode 100644 index 000000000..23f2f1120 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/jwt/package-summary.html @@ -0,0 +1,89 @@ + + + + +com.okta.spring.tests.common.servlet.jwt (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.okta.spring.tests.common.servlet.jwt

+
+
+
package com.okta.spring.tests.common.servlet.jwt
+
+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/servlet/jwt/package-tree.html b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/jwt/package-tree.html new file mode 100644 index 000000000..8a7c9f613 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/jwt/package-tree.html @@ -0,0 +1,77 @@ + + + + +com.okta.spring.tests.common.servlet.jwt Class Hierarchy (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.okta.spring.tests.common.servlet.jwt

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/servlet/jwt/package-use.html b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/jwt/package-use.html new file mode 100644 index 000000000..08e47c2a1 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/jwt/package-use.html @@ -0,0 +1,62 @@ + + + + +Uses of Package com.okta.spring.tests.common.servlet.jwt (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
com.okta.spring.tests.common.servlet.jwt

+
+No usage of com.okta.spring.tests.common.servlet.jwt
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController.html b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController.html new file mode 100644 index 000000000..c69ea7fda --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController.html @@ -0,0 +1,215 @@ + + + + +BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController

+
+
java.lang.Object +
com.okta.spring.tests.common.servlet.opaquetoken.BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController
+
+
+
+
Enclosing class:
+
BasicOpaqueTokenResourceServerApplication
+
+
+
@RestController +@CrossOrigin(origins="http://localhost:8080") +public static class BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      MessageOfTheDayController

      +
      public MessageOfTheDayController()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getUserDetails

      +
      @GetMapping("/api/userProfile") +@PreAuthorize("hasAuthority(\'SCOPE_profile\')") +public Map<String,Object> getUserDetails(org.springframework.security.core.Authentication authentication)
      +
      +
    • +
    • +
      +

      messages

      +
      @GetMapping("/api/messages") +@PreAuthorize("hasAuthority(\'SCOPE_email\')") +public Map<String,Object> messages()
      +
      +
    • +
    • +
      +

      invalidScope

      +
      @GetMapping("/api/invalidScope") +@PreAuthorize("hasAuthority(\'SCOPE_invalid\')") +public String invalidScope()
      +
      +
    • +
    • +
      +

      getMessageOfTheDay

      +
      @GetMapping("/") +@PreAuthorize("hasAuthority(\'SCOPE_email\')") +public String getMessageOfTheDay(Principal principal)
      +
      +
    • +
    • +
      +

      everyoneAccess

      +
      @GetMapping("/everyone") +@PreAuthorize("hasAuthority(\'Everyone\')") +public String everyoneAccess(Principal principal)
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/BasicOpaqueTokenResourceServerApplication.html b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/BasicOpaqueTokenResourceServerApplication.html new file mode 100644 index 000000000..c4bec5e5b --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/BasicOpaqueTokenResourceServerApplication.html @@ -0,0 +1,181 @@ + + + + +BasicOpaqueTokenResourceServerApplication (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BasicOpaqueTokenResourceServerApplication

+
+
java.lang.Object +
com.okta.spring.tests.common.servlet.opaquetoken.BasicOpaqueTokenResourceServerApplication
+
+
+
+
@SpringBootApplication +@EnableGlobalMethodSecurity(prePostEnabled=true, + securedEnabled=true) +public class BasicOpaqueTokenResourceServerApplication +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      BasicOpaqueTokenResourceServerApplication

      +
      public BasicOpaqueTokenResourceServerApplication()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      main

      +
      public static void main(String[] args)
      +
      +
    • +
    +
    +
  • +
+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/class-use/BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController.html b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/class-use/BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController.html new file mode 100644 index 000000000..a162716b4 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/class-use/BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController.html @@ -0,0 +1,62 @@ + + + + +Uses of Class com.okta.spring.tests.common.servlet.opaquetoken.BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.tests.common.servlet.opaquetoken.BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController

+
+No usage of com.okta.spring.tests.common.servlet.opaquetoken.BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/class-use/BasicOpaqueTokenResourceServerApplication.html b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/class-use/BasicOpaqueTokenResourceServerApplication.html new file mode 100644 index 000000000..752307e32 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/class-use/BasicOpaqueTokenResourceServerApplication.html @@ -0,0 +1,62 @@ + + + + +Uses of Class com.okta.spring.tests.common.servlet.opaquetoken.BasicOpaqueTokenResourceServerApplication (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Class
com.okta.spring.tests.common.servlet.opaquetoken.BasicOpaqueTokenResourceServerApplication

+
+No usage of com.okta.spring.tests.common.servlet.opaquetoken.BasicOpaqueTokenResourceServerApplication
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/package-summary.html b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/package-summary.html new file mode 100644 index 000000000..a612fb793 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/package-summary.html @@ -0,0 +1,89 @@ + + + + +com.okta.spring.tests.common.servlet.opaquetoken (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.okta.spring.tests.common.servlet.opaquetoken

+
+
+
package com.okta.spring.tests.common.servlet.opaquetoken
+
+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/package-tree.html b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/package-tree.html new file mode 100644 index 000000000..2f2a0b057 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/package-tree.html @@ -0,0 +1,77 @@ + + + + +com.okta.spring.tests.common.servlet.opaquetoken Class Hierarchy (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.okta.spring.tests.common.servlet.opaquetoken

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+ +
+
+ + diff --git a/3.0.5/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/package-use.html b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/package-use.html new file mode 100644 index 000000000..e517a53f7 --- /dev/null +++ b/3.0.5/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/package-use.html @@ -0,0 +1,62 @@ + + + + +Uses of Package com.okta.spring.tests.common.servlet.opaquetoken (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Uses of Package
com.okta.spring.tests.common.servlet.opaquetoken

+
+No usage of com.okta.spring.tests.common.servlet.opaquetoken
+ +
+
+ + diff --git a/3.0.5/apidocs/element-list b/3.0.5/apidocs/element-list new file mode 100644 index 000000000..291814218 --- /dev/null +++ b/3.0.5/apidocs/element-list @@ -0,0 +1,17 @@ +com.okta.example.cloud.configserver +com.okta.spring.boot.oauth +com.okta.spring.boot.oauth.config +com.okta.spring.boot.oauth.env +com.okta.spring.boot.oauth.http +com.okta.spring.boot.sdk +com.okta.spring.boot.sdk.cache +com.okta.spring.boot.sdk.config +com.okta.spring.boot.sdk.env +com.okta.spring.example +com.okta.spring.example.controllers +com.okta.spring.example.webflux +com.okta.spring.tests.common.reactive.code +com.okta.spring.tests.common.reactive.implicit +com.okta.spring.tests.common.servlet.code +com.okta.spring.tests.common.servlet.jwt +com.okta.spring.tests.common.servlet.opaquetoken diff --git a/3.0.5/apidocs/help-doc.html b/3.0.5/apidocs/help-doc.html new file mode 100644 index 000000000..03cfa4afa --- /dev/null +++ b/3.0.5/apidocs/help-doc.html @@ -0,0 +1,186 @@ + + + + +API Help (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+

JavaDoc Help

+ +
+
+

Navigation

+Starting from the Overview page, you can browse the documentation using the links in each page, and in the navigation bar at the top of each page. The Index and Search box allow you to navigate to specific declarations and summary pages, including: All Packages, All Classes and Interfaces + +
+
+
+

Kinds of Pages

+The following sections describe the different kinds of pages in this collection. +
+

Overview

+

The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

+
+
+

Package

+

Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain the following categories:

+
    +
  • Interfaces
  • +
  • Classes
  • +
  • Enums
  • +
  • Exceptions
  • +
  • Errors
  • +
  • Annotation Types
  • +
+
+
+

Class or Interface

+

Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a declaration and description, member summary tables, and detailed member descriptions. Entries in each of these sections are omitted if they are empty or not applicable.

+
    +
  • Class Inheritance Diagram
  • +
  • Direct Subclasses
  • +
  • All Known Subinterfaces
  • +
  • All Known Implementing Classes
  • +
  • Class or Interface Declaration
  • +
  • Class or Interface Description
  • +
+
+
    +
  • Nested Class Summary
  • +
  • Enum Constant Summary
  • +
  • Field Summary
  • +
  • Property Summary
  • +
  • Constructor Summary
  • +
  • Method Summary
  • +
  • Required Element Summary
  • +
  • Optional Element Summary
  • +
+
+
    +
  • Enum Constant Details
  • +
  • Field Details
  • +
  • Property Details
  • +
  • Constructor Details
  • +
  • Method Details
  • +
  • Element Details
  • +
+

Note: Annotation interfaces have required and optional elements, but not methods. Only enum classes have enum constants. The components of a record class are displayed as part of the declaration of the record class. Properties are a feature of JavaFX.

+

The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

+
+
+

Other Files

+

Packages and modules may contain pages with additional information related to the declarations nearby.

+
+
+

Use

+

Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the USE link in the navigation bar.

+
+
+

Tree (Class Hierarchy)

+

There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with java.lang.Object. Interfaces do not inherit from java.lang.Object.

+
    +
  • When viewing the Overview page, clicking on TREE displays the hierarchy for all packages.
  • +
  • When viewing a particular package, class or interface page, clicking on TREE displays the hierarchy for only that package.
  • +
+
+
+

All Packages

+

The All Packages page contains an alphabetic index of all packages contained in the documentation.

+
+
+

All Classes and Interfaces

+

The All Classes and Interfaces page contains an alphabetic index of all classes and interfaces contained in the documentation, including annotation interfaces, enum classes, and record classes.

+
+
+

Index

+

The Index contains an alphabetic index of all classes, interfaces, constructors, methods, and fields in the documentation, as well as summary pages such as All Packages, All Classes and Interfaces.

+
+
+
+This help file applies to API documentation generated by the standard doclet.
+ +
+
+ + diff --git a/3.0.5/apidocs/index-all.html b/3.0.5/apidocs/index-all.html new file mode 100644 index 000000000..4947e4914 --- /dev/null +++ b/3.0.5/apidocs/index-all.html @@ -0,0 +1,516 @@ + + + + +Index (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C E G H I L M O P R S U V W 
All Classes and Interfaces|All Packages +

A

+
+
afterPropertiesSet() - Method in class com.okta.spring.boot.sdk.cache.SpringCacheManager
+
 
+
Auth0ClientRequestInterceptor - Class in com.okta.spring.boot.oauth.http
+
 
+
Auth0ClientRequestInterceptor() - Constructor for class com.okta.spring.boot.oauth.http.Auth0ClientRequestInterceptor
+
 
+
AuthoritiesProvider - Interface in com.okta.spring.boot.oauth
+
+
Allows for custom GrantedAuthoritys to be added to the current OAuth Principal.
+
+
authParams - Variable in class com.okta.spring.example.controllers.SignInWidgetConfigController.WidgetConfig
+
 
+
+

B

+
+
baseUrl - Variable in class com.okta.spring.example.controllers.SignInWidgetConfigController.WidgetConfig
+
 
+
BasicJwtResourceServerApplication - Class in com.okta.spring.tests.common.servlet.jwt
+
 
+
BasicJwtResourceServerApplication() - Constructor for class com.okta.spring.tests.common.servlet.jwt.BasicJwtResourceServerApplication
+
 
+
BasicJwtResourceServerApplication.MessageOfTheDayController - Class in com.okta.spring.tests.common.servlet.jwt
+
 
+
BasicOpaqueTokenResourceServerApplication - Class in com.okta.spring.tests.common.servlet.opaquetoken
+
 
+
BasicOpaqueTokenResourceServerApplication() - Constructor for class com.okta.spring.tests.common.servlet.opaquetoken.BasicOpaqueTokenResourceServerApplication
+
 
+
BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController - Class in com.okta.spring.tests.common.servlet.opaquetoken
+
 
+
BasicRedirectCodeFlowApplication - Class in com.okta.spring.tests.common.servlet.code
+
 
+
BasicRedirectCodeFlowApplication() - Constructor for class com.okta.spring.tests.common.servlet.code.BasicRedirectCodeFlowApplication
+
 
+
+

C

+
+
clientId - Variable in class com.okta.spring.example.controllers.SignInWidgetConfigController.WidgetConfig
+
 
+
ClientProxyInfo() - Constructor for class com.okta.spring.boot.sdk.config.OktaClientProperties.ClientProxyInfo
+
 
+
com.okta.example.cloud.configserver - package com.okta.example.cloud.configserver
+
 
+
com.okta.spring.boot.oauth - package com.okta.spring.boot.oauth
+
 
+
com.okta.spring.boot.oauth.config - package com.okta.spring.boot.oauth.config
+
 
+
com.okta.spring.boot.oauth.env - package com.okta.spring.boot.oauth.env
+
 
+
com.okta.spring.boot.oauth.http - package com.okta.spring.boot.oauth.http
+
 
+
com.okta.spring.boot.sdk - package com.okta.spring.boot.sdk
+
 
+
com.okta.spring.boot.sdk.cache - package com.okta.spring.boot.sdk.cache
+
 
+
com.okta.spring.boot.sdk.config - package com.okta.spring.boot.sdk.config
+
 
+
com.okta.spring.boot.sdk.env - package com.okta.spring.boot.sdk.env
+
 
+
com.okta.spring.example - package com.okta.spring.example
+
 
+
com.okta.spring.example.controllers - package com.okta.spring.example.controllers
+
 
+
com.okta.spring.example.webflux - package com.okta.spring.example.webflux
+
 
+
com.okta.spring.tests.common.reactive.code - package com.okta.spring.tests.common.reactive.code
+
 
+
com.okta.spring.tests.common.reactive.implicit - package com.okta.spring.tests.common.reactive.implicit
+
 
+
com.okta.spring.tests.common.servlet.code - package com.okta.spring.tests.common.servlet.code
+
 
+
com.okta.spring.tests.common.servlet.jwt - package com.okta.spring.tests.common.servlet.jwt
+
 
+
com.okta.spring.tests.common.servlet.opaquetoken - package com.okta.spring.tests.common.servlet.opaquetoken
+
 
+
ConfigServerApplication - Class in com.okta.example.cloud.configserver
+
 
+
ConfigServerApplication() - Constructor for class com.okta.example.cloud.configserver.ConfigServerApplication
+
 
+
configureOAuth2WithPkce(HttpSecurity, ClientRegistrationRepository) - Static method in class com.okta.spring.boot.oauth.Okta
+
+
Configures the http with an OAuth2 Login, that supports PKCE.
+
+
configureOAuth2WithPkce(ServerHttpSecurity, ReactiveClientRegistrationRepository) - Static method in class com.okta.spring.boot.oauth.Okta
+
+
Configures the http with an OAuth2 Login, that supports PKCE.
+
+
configureResourceServer401ResponseBody(HttpSecurity) - Static method in class com.okta.spring.boot.oauth.Okta
+
+
Configures the http to return a NON-EMPTY response body if the client supports the Media Type text/plain.
+
+
configureResourceServer401ResponseBody(ServerHttpSecurity) - Static method in class com.okta.spring.boot.oauth.Okta
+
+
Configures the http to return a NON-EMPTY response body if the client supports the Media Type text/plain.
+
+
+

E

+
+
everyoneAccess(Principal) - Method in class com.okta.spring.tests.common.reactive.code.ReactiveRedirectCodeFlowApplication
+
 
+
everyoneAccess(Principal) - Method in class com.okta.spring.tests.common.reactive.implicit.ReactiveImplicitFlowApplication.MessageOfTheDayController
+
 
+
everyoneAccess(Principal) - Method in class com.okta.spring.tests.common.servlet.code.BasicRedirectCodeFlowApplication
+
 
+
everyoneAccess(Principal) - Method in class com.okta.spring.tests.common.servlet.jwt.BasicJwtResourceServerApplication.MessageOfTheDayController
+
 
+
everyoneAccess(Principal) - Method in class com.okta.spring.tests.common.servlet.opaquetoken.BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController
+
 
+
+

G

+
+
get(K) - Method in class com.okta.spring.boot.sdk.cache.SpringCache
+
 
+
getAudience() - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties
+
 
+
getAuthorities(OidcUser, OidcUserRequest) - Method in interface com.okta.spring.boot.oauth.AuthoritiesProvider
+
 
+
getAuthorities(OAuth2User, OAuth2UserRequest) - Method in interface com.okta.spring.boot.oauth.AuthoritiesProvider
+
 
+
getAuthorizationURI() - Method in class com.okta.spring.boot.oauth.env.OIDCMetadata
+
 
+
getCache(String) - Method in class com.okta.spring.boot.sdk.cache.SpringCacheManager
+
+
Consults the wrapped Spring CacheManager instance to obtain a + named Spring Cache instance.
+
+
getClientAuthenticationMethod() - Method in class com.okta.spring.boot.oauth.env.OIDCMetadata
+
 
+
getClientId() - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties
+
 
+
getClientSecret() - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties
+
 
+
getConnectionTimeout() - Method in class com.okta.spring.boot.sdk.config.OktaClientProperties
+
 
+
getGroupsClaim() - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties
+
 
+
getHost() - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties.Proxy
+
 
+
getHostname() - Method in class com.okta.spring.boot.sdk.config.OktaClientProperties.ClientProxyInfo
+
 
+
getIntrospectionURI() - Method in class com.okta.spring.boot.oauth.env.OIDCMetadata
+
 
+
getIssuer() - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties
+
 
+
getJwkSetURI() - Method in class com.okta.spring.boot.oauth.env.OIDCMetadata
+
 
+
getMessageOfTheDay(Principal) - Method in class com.okta.spring.example.controllers.WelcomeController
+
+
Simple example REST endpoint that returns a static message.
+
+
getMessageOfTheDay(Principal) - Method in class com.okta.spring.tests.common.reactive.code.ReactiveRedirectCodeFlowApplication
+
 
+
getMessageOfTheDay(Principal) - Method in class com.okta.spring.tests.common.reactive.implicit.ReactiveImplicitFlowApplication.MessageOfTheDayController
+
 
+
getMessageOfTheDay(Principal) - Method in class com.okta.spring.tests.common.servlet.code.BasicRedirectCodeFlowApplication
+
 
+
getMessageOfTheDay(Principal) - Method in class com.okta.spring.tests.common.servlet.jwt.BasicJwtResourceServerApplication.MessageOfTheDayController
+
 
+
getMessageOfTheDay(Principal) - Method in class com.okta.spring.tests.common.servlet.opaquetoken.BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController
+
 
+
getOrder() - Method in class com.okta.spring.boot.oauth.env.OktaEnvironmentPostProcessorApplicationListener
+
 
+
getOrgUrl() - Method in class com.okta.spring.boot.sdk.config.OktaClientProperties
+
 
+
getPassword() - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties.Proxy
+
 
+
getPassword() - Method in class com.okta.spring.boot.sdk.config.OktaClientProperties.ClientProxyInfo
+
 
+
getPort() - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties.Proxy
+
 
+
getPort() - Method in class com.okta.spring.boot.sdk.config.OktaClientProperties.ClientProxyInfo
+
 
+
getPostLogoutRedirectUri() - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties
+
 
+
getProxy() - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties
+
 
+
getProxy() - Method in class com.okta.spring.boot.sdk.config.OktaClientProperties
+
 
+
getRedirectUri() - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties
+
 
+
getScope() - Method in class com.okta.spring.boot.oauth.env.OIDCMetadata
+
 
+
getScopes() - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties
+
 
+
getToken() - Method in class com.okta.spring.boot.sdk.config.OktaClientProperties
+
 
+
getTokenURI() - Method in class com.okta.spring.boot.oauth.env.OIDCMetadata
+
 
+
getUserDetails(Authentication) - Method in class com.okta.spring.tests.common.reactive.implicit.ReactiveImplicitFlowApplication.MessageOfTheDayController
+
 
+
getUserDetails(Authentication) - Method in class com.okta.spring.tests.common.servlet.jwt.BasicJwtResourceServerApplication.MessageOfTheDayController
+
 
+
getUserDetails(Authentication) - Method in class com.okta.spring.tests.common.servlet.opaquetoken.BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController
+
 
+
getUserInfoURI() - Method in class com.okta.spring.boot.oauth.env.OIDCMetadata
+
 
+
getUsername() - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties.Proxy
+
 
+
getUsername() - Method in class com.okta.spring.boot.sdk.config.OktaClientProperties.ClientProxyInfo
+
 
+
getWidgetConfig() - Method in class com.okta.spring.example.controllers.SignInWidgetConfigController
+
 
+
+

H

+
+
HostedLoginCodeFlowExampleApplication - Class in com.okta.spring.example
+
 
+
HostedLoginCodeFlowExampleApplication() - Constructor for class com.okta.spring.example.HostedLoginCodeFlowExampleApplication
+
 
+
+

I

+
+
ImplicitFlowApplication - Class in com.okta.spring.example
+
 
+
ImplicitFlowApplication() - Constructor for class com.okta.spring.example.ImplicitFlowApplication
+
 
+
intercept(HttpRequest, byte[], ClientHttpRequestExecution) - Method in class com.okta.spring.boot.oauth.http.Auth0ClientRequestInterceptor
+
 
+
intercept(HttpRequest, byte[], ClientHttpRequestExecution) - Method in class com.okta.spring.boot.oauth.http.UserAgentRequestInterceptor
+
 
+
invalidGroup() - Method in class com.okta.spring.tests.common.reactive.code.ReactiveRedirectCodeFlowApplication
+
 
+
invalidGroup() - Method in class com.okta.spring.tests.common.servlet.code.BasicRedirectCodeFlowApplication
+
 
+
invalidScope() - Method in class com.okta.spring.tests.common.servlet.opaquetoken.BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController
+
 
+
isAuth0() - Method in class com.okta.spring.boot.oauth.env.OIDCMetadata
+
 
+
+

L

+
+
login(String) - Method in class com.okta.spring.example.controllers.LoginController
+
 
+
LoginController - Class in com.okta.spring.example.controllers
+
 
+
LoginController(OktaOAuth2Properties) - Constructor for class com.okta.spring.example.controllers.LoginController
+
 
+
+

M

+
+
main(String[]) - Static method in class com.okta.example.cloud.configserver.ConfigServerApplication
+
 
+
main(String[]) - Static method in class com.okta.spring.example.HostedLoginCodeFlowExampleApplication
+
 
+
main(String[]) - Static method in class com.okta.spring.example.ImplicitFlowApplication
+
 
+
main(String[]) - Static method in class com.okta.spring.example.RedirectCodeFlowApplication
+
 
+
main(String[]) - Static method in class com.okta.spring.example.webflux.ReactiveApplication
+
 
+
main(String[]) - Static method in class com.okta.spring.tests.common.reactive.code.ReactiveRedirectCodeFlowApplication
+
 
+
main(String[]) - Static method in class com.okta.spring.tests.common.reactive.implicit.ReactiveImplicitFlowApplication
+
 
+
main(String[]) - Static method in class com.okta.spring.tests.common.servlet.code.BasicRedirectCodeFlowApplication
+
 
+
main(String[]) - Static method in class com.okta.spring.tests.common.servlet.jwt.BasicJwtResourceServerApplication
+
 
+
main(String[]) - Static method in class com.okta.spring.tests.common.servlet.opaquetoken.BasicOpaqueTokenResourceServerApplication
+
 
+
messageOfTheDay - Variable in class com.okta.spring.example.controllers.WelcomeController.Welcome
+
 
+
MessageOfTheDayController() - Constructor for class com.okta.spring.tests.common.reactive.implicit.ReactiveImplicitFlowApplication.MessageOfTheDayController
+
 
+
MessageOfTheDayController() - Constructor for class com.okta.spring.tests.common.servlet.jwt.BasicJwtResourceServerApplication.MessageOfTheDayController
+
 
+
MessageOfTheDayController() - Constructor for class com.okta.spring.tests.common.servlet.opaquetoken.BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController
+
 
+
messages() - Method in class com.okta.spring.tests.common.reactive.implicit.ReactiveImplicitFlowApplication.MessageOfTheDayController
+
 
+
messages() - Method in class com.okta.spring.tests.common.servlet.jwt.BasicJwtResourceServerApplication.MessageOfTheDayController
+
 
+
messages() - Method in class com.okta.spring.tests.common.servlet.opaquetoken.BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController
+
 
+
+

O

+
+
OIDCMetadata - Class in com.okta.spring.boot.oauth.env
+
 
+
OIDCMetadata(String) - Constructor for class com.okta.spring.boot.oauth.env.OIDCMetadata
+
 
+
OIDCMetadata(ResponseEntity<String>) - Constructor for class com.okta.spring.boot.oauth.env.OIDCMetadata
+
+
Fetch metadata from the ${issuer}/.well-known/openid-configuration endpoint
+
+
Okta - Class in com.okta.spring.boot.oauth
+
+
Okta + Spring Security utility methods.
+
+
OktaClientProperties - Class in com.okta.spring.boot.sdk.config
+
 
+
OktaClientProperties() - Constructor for class com.okta.spring.boot.sdk.config.OktaClientProperties
+
 
+
OktaClientProperties.ClientProxyInfo - Class in com.okta.spring.boot.sdk.config
+
 
+
OktaEnvironmentPostProcessorApplicationListener - Class in com.okta.spring.boot.oauth.env
+
 
+
OktaEnvironmentPostProcessorApplicationListener() - Constructor for class com.okta.spring.boot.oauth.env.OktaEnvironmentPostProcessorApplicationListener
+
 
+
OktaOAuth2Properties - Class in com.okta.spring.boot.oauth.config
+
 
+
OktaOAuth2Properties(OAuth2ClientProperties) - Constructor for class com.okta.spring.boot.oauth.config.OktaOAuth2Properties
+
 
+
OktaOAuth2Properties.Proxy - Class in com.okta.spring.boot.oauth.config
+
 
+
oktaSdkClient() - Method in class com.okta.spring.boot.sdk.OktaSdkConfig
+
 
+
oktaSdkClientCredentials() - Method in class com.okta.spring.boot.sdk.OktaSdkConfig
+
 
+
OktaSdkConfig - Class in com.okta.spring.boot.sdk
+
+
Configure Okta's management SDK, and expose it as a Bean.
+
+
OktaSdkConfig(OktaClientProperties, CacheManager) - Constructor for class com.okta.spring.boot.sdk.OktaSdkConfig
+
 
+
onApplicationEvent(ApplicationEvent) - Method in class com.okta.spring.boot.oauth.env.OktaEnvironmentPostProcessorApplicationListener
+
 
+
+

P

+
+
Proxy() - Constructor for class com.okta.spring.boot.oauth.config.OktaOAuth2Properties.Proxy
+
 
+
put(K, V) - Method in class com.okta.spring.boot.sdk.cache.SpringCache
+
 
+
+

R

+
+
ReactiveApplication - Class in com.okta.spring.example.webflux
+
 
+
ReactiveApplication() - Constructor for class com.okta.spring.example.webflux.ReactiveApplication
+
 
+
ReactiveImplicitFlowApplication - Class in com.okta.spring.tests.common.reactive.implicit
+
 
+
ReactiveImplicitFlowApplication() - Constructor for class com.okta.spring.tests.common.reactive.implicit.ReactiveImplicitFlowApplication
+
 
+
ReactiveImplicitFlowApplication.MessageOfTheDayController - Class in com.okta.spring.tests.common.reactive.implicit
+
 
+
ReactiveRedirectCodeFlowApplication - Class in com.okta.spring.tests.common.reactive.code
+
 
+
ReactiveRedirectCodeFlowApplication() - Constructor for class com.okta.spring.tests.common.reactive.code.ReactiveRedirectCodeFlowApplication
+
 
+
RedirectCodeFlowApplication - Class in com.okta.spring.example
+
 
+
RedirectCodeFlowApplication() - Constructor for class com.okta.spring.example.RedirectCodeFlowApplication
+
 
+
remove(K) - Method in class com.okta.spring.boot.sdk.cache.SpringCache
+
 
+
+

S

+
+
setAudience(String) - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties
+
 
+
setClientId(String) - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties
+
 
+
setClientSecret(String) - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties
+
 
+
setConnectionTimeout(int) - Method in class com.okta.spring.boot.sdk.config.OktaClientProperties
+
 
+
setGroupsClaim(String) - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties
+
 
+
setHost(String) - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties.Proxy
+
 
+
setHostname(String) - Method in class com.okta.spring.boot.sdk.config.OktaClientProperties.ClientProxyInfo
+
 
+
setIssuer(String) - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties
+
 
+
setOrgUrl(String) - Method in class com.okta.spring.boot.sdk.config.OktaClientProperties
+
 
+
setPassword(String) - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties.Proxy
+
 
+
setPassword(String) - Method in class com.okta.spring.boot.sdk.config.OktaClientProperties.ClientProxyInfo
+
 
+
setPort(int) - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties.Proxy
+
 
+
setPort(int) - Method in class com.okta.spring.boot.sdk.config.OktaClientProperties.ClientProxyInfo
+
 
+
setPostLogoutRedirectUri(String) - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties
+
 
+
setProxy(OktaOAuth2Properties.Proxy) - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties
+
 
+
setProxy(OktaClientProperties.ClientProxyInfo) - Method in class com.okta.spring.boot.sdk.config.OktaClientProperties
+
 
+
setRedirectUri(String) - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties
+
 
+
setScopes(Set<String>) - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties
+
 
+
setSpringCacheManager(CacheManager) - Method in class com.okta.spring.boot.sdk.cache.SpringCacheManager
+
 
+
setToken(String) - Method in class com.okta.spring.boot.sdk.config.OktaClientProperties
+
 
+
setUsername(String) - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties.Proxy
+
 
+
setUsername(String) - Method in class com.okta.spring.boot.sdk.config.OktaClientProperties.ClientProxyInfo
+
 
+
SignInWidgetConfigController - Class in com.okta.spring.example.controllers
+
 
+
SignInWidgetConfigController(String, String) - Constructor for class com.okta.spring.example.controllers.SignInWidgetConfigController
+
 
+
SignInWidgetConfigController.WidgetConfig - Class in com.okta.spring.example.controllers
+
 
+
SpringCache<K,V> - Class in com.okta.spring.boot.sdk.cache
+
+
A Okta SDK Cache implementation that wraps a Spring Cache instance.
+
+
SpringCache(Cache) - Constructor for class com.okta.spring.boot.sdk.cache.SpringCache
+
 
+
SpringCacheManager - Class in com.okta.spring.boot.sdk.cache
+
+
A Okta SDK CacheManager implementation that wraps a Spring + CacheManager instance.
+
+
SpringCacheManager() - Constructor for class com.okta.spring.boot.sdk.cache.SpringCacheManager
+
 
+
SpringCacheManager(CacheManager) - Constructor for class com.okta.spring.boot.sdk.cache.SpringCacheManager
+
+
Constructs a new SpringCacheManager instance that wraps (delegates to) the specified + Spring CacheManager instance.
+
+
supports(Class<?>) - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties
+
 
+
supportsEventType(Class<? extends ApplicationEvent>) - Method in class com.okta.spring.boot.oauth.env.OktaEnvironmentPostProcessorApplicationListener
+
 
+
+

U

+
+
UserAgentRequestInterceptor - Class in com.okta.spring.boot.oauth.http
+
 
+
UserAgentRequestInterceptor() - Constructor for class com.okta.spring.boot.oauth.http.UserAgentRequestInterceptor
+
 
+
userDetailsMono(Mono<OAuth2AuthenticationToken>) - Method in class com.okta.spring.example.webflux.ReactiveApplication
+
 
+
username - Variable in class com.okta.spring.example.controllers.WelcomeController.Welcome
+
 
+
+

V

+
+
validate(Object, Errors) - Method in class com.okta.spring.boot.oauth.config.OktaOAuth2Properties
+
 
+
+

W

+
+
Welcome(String, String) - Constructor for class com.okta.spring.example.controllers.WelcomeController.Welcome
+
 
+
WelcomeController - Class in com.okta.spring.example.controllers
+
 
+
WelcomeController() - Constructor for class com.okta.spring.example.controllers.WelcomeController
+
 
+
WelcomeController.Welcome - Class in com.okta.spring.example.controllers
+
 
+
WidgetConfig(String, String) - Constructor for class com.okta.spring.example.controllers.SignInWidgetConfigController.WidgetConfig
+
 
+
+A B C E G H I L M O P R S U V W 
All Classes and Interfaces|All Packages
+ +
+
+ + diff --git a/3.0.5/apidocs/index.html b/3.0.5/apidocs/index.html new file mode 100644 index 000000000..369e9a3da --- /dev/null +++ b/3.0.5/apidocs/index.html @@ -0,0 +1,103 @@ + + + + +Overview (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+
+

Okta Spring Boot 3.0.5 API

+
+ +
+ +
+
+ + diff --git a/3.0.5/apidocs/jquery-ui.overrides.css b/3.0.5/apidocs/jquery-ui.overrides.css new file mode 100644 index 000000000..facf852c2 --- /dev/null +++ b/3.0.5/apidocs/jquery-ui.overrides.css @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2020, 2022, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +.ui-state-active, +.ui-widget-content .ui-state-active, +.ui-widget-header .ui-state-active, +a.ui-button:active, +.ui-button:active, +.ui-button.ui-state-active:hover { + /* Overrides the color of selection used in jQuery UI */ + background: #F8981D; + border: 1px solid #F8981D; +} diff --git a/3.0.5/apidocs/legal/ADDITIONAL_LICENSE_INFO b/3.0.5/apidocs/legal/ADDITIONAL_LICENSE_INFO new file mode 100644 index 000000000..ff700cd09 --- /dev/null +++ b/3.0.5/apidocs/legal/ADDITIONAL_LICENSE_INFO @@ -0,0 +1,37 @@ + ADDITIONAL INFORMATION ABOUT LICENSING + +Certain files distributed by Oracle America, Inc. and/or its affiliates are +subject to the following clarification and special exception to the GPLv2, +based on the GNU Project exception for its Classpath libraries, known as the +GNU Classpath Exception. + +Note that Oracle includes multiple, independent programs in this software +package. Some of those programs are provided under licenses deemed +incompatible with the GPLv2 by the Free Software Foundation and others. +For example, the package includes programs licensed under the Apache +License, Version 2.0 and may include FreeType. Such programs are licensed +to you under their original licenses. + +Oracle facilitates your further distribution of this package by adding the +Classpath Exception to the necessary parts of its GPLv2 code, which permits +you to use that code in combination with other independent modules not +licensed under the GPLv2. However, note that this would not permit you to +commingle code under an incompatible license with Oracle's GPLv2 licensed +code by, for example, cutting and pasting such code into a file also +containing Oracle's GPLv2 licensed code and then distributing the result. + +Additionally, if you were to remove the Classpath Exception from any of the +files to which it applies and distribute the result, you would likely be +required to license some or all of the other code in that distribution under +the GPLv2 as well, and since the GPLv2 is incompatible with the license terms +of some items included in the distribution by Oracle, removing the Classpath +Exception could therefore effectively compromise your ability to further +distribute the package. + +Failing to distribute notices associated with some files may also create +unexpected legal consequences. + +Proceed with caution and we recommend that you obtain the advice of a lawyer +skilled in open source matters before removing the Classpath Exception or +making modifications to this package which may subsequently be redistributed +and/or involve the use of third party software. diff --git a/3.0.5/apidocs/legal/ASSEMBLY_EXCEPTION b/3.0.5/apidocs/legal/ASSEMBLY_EXCEPTION new file mode 100644 index 000000000..065b8d902 --- /dev/null +++ b/3.0.5/apidocs/legal/ASSEMBLY_EXCEPTION @@ -0,0 +1,27 @@ + +OPENJDK ASSEMBLY EXCEPTION + +The OpenJDK source code made available by Oracle America, Inc. (Oracle) at +openjdk.java.net ("OpenJDK Code") is distributed under the terms of the GNU +General Public License version 2 +only ("GPL2"), with the following clarification and special exception. + + Linking this OpenJDK Code statically or dynamically with other code + is making a combined work based on this library. Thus, the terms + and conditions of GPL2 cover the whole combination. + + As a special exception, Oracle gives you permission to link this + OpenJDK Code with certain code licensed by Oracle as indicated at + http://openjdk.java.net/legal/exception-modules-2007-05-08.html + ("Designated Exception Modules") to produce an executable, + regardless of the license terms of the Designated Exception Modules, + and to copy and distribute the resulting executable under GPL2, + provided that the Designated Exception Modules continue to be + governed by the licenses under which they were offered by Oracle. + +As such, it allows licensees and sublicensees of Oracle's GPL2 OpenJDK Code +to build an executable that includes those portions of necessary code that +Oracle could not provide under GPL2 (or that Oracle has provided under GPL2 +with the Classpath exception). If you modify or add to the OpenJDK code, +that new GPL2 code may still be combined with Designated Exception Modules +if the new code is made subject to this exception by its copyright holder. diff --git a/3.0.5/apidocs/legal/LICENSE b/3.0.5/apidocs/legal/LICENSE new file mode 100644 index 000000000..8b400c7ab --- /dev/null +++ b/3.0.5/apidocs/legal/LICENSE @@ -0,0 +1,347 @@ +The GNU General Public License (GPL) + +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom to share +and change it. By contrast, the GNU General Public License is intended to +guarantee your freedom to share and change free software--to make sure the +software is free for all its users. This General Public License applies to +most of the Free Software Foundation's software and to any other program whose +authors commit to using it. (Some other Free Software Foundation software is +covered by the GNU Library General Public License instead.) You can apply it to +your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom to +distribute copies of free software (and charge for this service if you wish), +that you receive source code or can get it if you want it, that you can change +the software or use pieces of it in new free programs; and that you know you +can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to deny +you these rights or to ask you to surrender the rights. These restrictions +translate to certain responsibilities for you if you distribute copies of the +software, or if you modify it. + +For example, if you distribute copies of such a program, whether gratis or for +a fee, you must give the recipients all the rights that you have. You must +make sure that they, too, receive or can get the source code. And you must +show them these terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and (2) +offer you this license which gives you legal permission to copy, distribute +and/or modify the software. + +Also, for each author's protection and ours, we want to make certain that +everyone understands that there is no warranty for this free software. If the +software is modified by someone else and passed on, we want its recipients to +know that what they have is not the original, so that any problems introduced +by others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We +wish to avoid the danger that redistributors of a free program will +individually obtain patent licenses, in effect making the program proprietary. +To prevent this, we have made it clear that any patent must be licensed for +everyone's free use or not licensed at all. + +The precise terms and conditions for copying, distribution and modification +follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a notice +placed by the copyright holder saying it may be distributed under the terms of +this General Public License. The "Program", below, refers to any such program +or work, and a "work based on the Program" means either the Program or any +derivative work under copyright law: that is to say, a work containing the +Program or a portion of it, either verbatim or with modifications and/or +translated into another language. (Hereinafter, translation is included +without limitation in the term "modification".) Each licensee is addressed as +"you". + +Activities other than copying, distribution and modification are not covered by +this License; they are outside its scope. The act of running the Program is +not restricted, and the output from the Program is covered only if its contents +constitute a work based on the Program (independent of having been made by +running the Program). Whether that is true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the Program's source code as +you receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice and +disclaimer of warranty; keep intact all the notices that refer to this License +and to the absence of any warranty; and give any other recipients of the +Program a copy of this License along with the Program. + +You may charge a fee for the physical act of transferring a copy, and you may +at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of it, thus +forming a work based on the Program, and copy and distribute such modifications +or work under the terms of Section 1 above, provided that you also meet all of +these conditions: + + a) You must cause the modified files to carry prominent notices stating + that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in whole or + in part contains or is derived from the Program or any part thereof, to be + licensed as a whole at no charge to all third parties under the terms of + this License. + + c) If the modified program normally reads commands interactively when run, + you must cause it, when started running for such interactive use in the + most ordinary way, to print or display an announcement including an + appropriate copyright notice and a notice that there is no warranty (or + else, saying that you provide a warranty) and that users may redistribute + the program under these conditions, and telling the user how to view a copy + of this License. (Exception: if the Program itself is interactive but does + not normally print such an announcement, your work based on the Program is + not required to print an announcement.) + +These requirements apply to the modified work as a whole. If identifiable +sections of that work are not derived from the Program, and can be reasonably +considered independent and separate works in themselves, then this License, and +its terms, do not apply to those sections when you distribute them as separate +works. But when you distribute the same sections as part of a whole which is a +work based on the Program, the distribution of the whole must be on the terms +of this License, whose permissions for other licensees extend to the entire +whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest your +rights to work written entirely by you; rather, the intent is to exercise the +right to control the distribution of derivative or collective works based on +the Program. + +In addition, mere aggregation of another work not based on the Program with the +Program (or with a work based on the Program) on a volume of a storage or +distribution medium does not bring the other work under the scope of this +License. + +3. You may copy and distribute the Program (or a work based on it, under +Section 2) in object code or executable form under the terms of Sections 1 and +2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable source + code, which must be distributed under the terms of Sections 1 and 2 above + on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three years, to + give any third party, for a charge no more than your cost of physically + performing source distribution, a complete machine-readable copy of the + corresponding source code, to be distributed under the terms of Sections 1 + and 2 above on a medium customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer to + distribute corresponding source code. (This alternative is allowed only + for noncommercial distribution and only if you received the program in + object code or executable form with such an offer, in accord with + Subsection b above.) + +The source code for a work means the preferred form of the work for making +modifications to it. For an executable work, complete source code means all +the source code for all modules it contains, plus any associated interface +definition files, plus the scripts used to control compilation and installation +of the executable. However, as a special exception, the source code +distributed need not include anything that is normally distributed (in either +source or binary form) with the major components (compiler, kernel, and so on) +of the operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the source +code from the same place counts as distribution of the source code, even though +third parties are not compelled to copy the source along with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program except as +expressly provided under this License. Any attempt otherwise to copy, modify, +sublicense or distribute the Program is void, and will automatically terminate +your rights under this License. However, parties who have received copies, or +rights, from you under this License will not have their licenses terminated so +long as such parties remain in full compliance. + +5. You are not required to accept this License, since you have not signed it. +However, nothing else grants you permission to modify or distribute the Program +or its derivative works. These actions are prohibited by law if you do not +accept this License. Therefore, by modifying or distributing the Program (or +any work based on the Program), you indicate your acceptance of this License to +do so, and all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the Program), +the recipient automatically receives a license from the original licensor to +copy, distribute or modify the Program subject to these terms and conditions. +You may not impose any further restrictions on the recipients' exercise of the +rights granted herein. You are not responsible for enforcing compliance by +third parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), conditions +are imposed on you (whether by court order, agreement or otherwise) that +contradict the conditions of this License, they do not excuse you from the +conditions of this License. If you cannot distribute so as to satisfy +simultaneously your obligations under this License and any other pertinent +obligations, then as a consequence you may not distribute the Program at all. +For example, if a patent license would not permit royalty-free redistribution +of the Program by all those who receive copies directly or indirectly through +you, then the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply and +the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents or +other property right claims or to contest validity of any such claims; this +section has the sole purpose of protecting the integrity of the free software +distribution system, which is implemented by public license practices. Many +people have made generous contributions to the wide range of software +distributed through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing to +distribute software through any other system and a licensee cannot impose that +choice. + +This section is intended to make thoroughly clear what is believed to be a +consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in certain +countries either by patents or by copyrighted interfaces, the original +copyright holder who places the Program under this License may add an explicit +geographical distribution limitation excluding those countries, so that +distribution is permitted only in or among countries not thus excluded. In +such case, this License incorporates the limitation as if written in the body +of this License. + +9. The Free Software Foundation may publish revised and/or new versions of the +General Public License from time to time. Such new versions will be similar in +spirit to the present version, but may differ in detail to address new problems +or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any later +version", you have the option of following the terms and conditions either of +that version or of any later version published by the Free Software Foundation. +If the Program does not specify a version number of this License, you may +choose any version ever published by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free programs +whose distribution conditions are different, write to the author to ask for +permission. For software which is copyrighted by the Free Software Foundation, +write to the Free Software Foundation; we sometimes make exceptions for this. +Our decision will be guided by the two goals of preserving the free status of +all derivatives of our free software and of promoting the sharing and reuse of +software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR +THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE +STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE +PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND +PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, +YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL +ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE +PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR +INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA +BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER +OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible +use to the public, the best way to achieve this is to make it free software +which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach +them to the start of each source file to most effectively convey the exclusion +of warranty; and each file should have at least the "copyright" line and a +pointer to where the full notice is found. + + One line to give the program's name and a brief idea of what it does. + + Copyright (C) + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this when it +starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author Gnomovision comes + with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free + software, and you are welcome to redistribute it under certain conditions; + type 'show c' for details. + +The hypothetical commands 'show w' and 'show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may be +called something other than 'show w' and 'show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your school, +if any, to sign a "copyright disclaimer" for the program, if necessary. Here +is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + 'Gnomovision' (which makes passes at compilers) written by James Hacker. + + signature of Ty Coon, 1 April 1989 + + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General Public +License instead of this License. + + +"CLASSPATH" EXCEPTION TO THE GPL + +Certain source files distributed by Oracle America and/or its affiliates are +subject to the following clarification and special exception to the GPL, but +only where Oracle has expressly included in the particular source file's header +the words "Oracle designates this particular file as subject to the "Classpath" +exception as provided by Oracle in the LICENSE file that accompanied this code." + + Linking this library statically or dynamically with other modules is making + a combined work based on this library. Thus, the terms and conditions of + the GNU General Public License cover the whole combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent modules, + and to copy and distribute the resulting executable under terms of your + choice, provided that you also meet, for each linked independent module, + the terms and conditions of the license of that module. An independent + module is a module which is not derived from or based on this library. If + you modify this library, you may extend this exception to your version of + the library, but you are not obligated to do so. If you do not wish to do + so, delete this exception statement from your version. diff --git a/3.0.5/apidocs/legal/jquery.md b/3.0.5/apidocs/legal/jquery.md new file mode 100644 index 000000000..f7b72e3fb --- /dev/null +++ b/3.0.5/apidocs/legal/jquery.md @@ -0,0 +1,72 @@ +## jQuery v3.6.0 + +### jQuery License +``` +jQuery v 3.6.0 +Copyright OpenJS Foundation and other contributors, https://openjsf.org/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +****************************************** + +The jQuery JavaScript Library v3.6.0 also includes Sizzle.js + +Sizzle.js includes the following license: + +Copyright JS Foundation and other contributors, https://js.foundation/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/sizzle + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. + +********************* + +``` diff --git a/3.0.5/apidocs/legal/jqueryUI.md b/3.0.5/apidocs/legal/jqueryUI.md new file mode 100644 index 000000000..8031bdb56 --- /dev/null +++ b/3.0.5/apidocs/legal/jqueryUI.md @@ -0,0 +1,49 @@ +## jQuery UI v1.12.1 + +### jQuery UI License +``` +Copyright jQuery Foundation and other contributors, https://jquery.org/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/jquery-ui + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code contained within the demos directory. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. + +``` diff --git a/3.0.5/apidocs/member-search-index.js b/3.0.5/apidocs/member-search-index.js new file mode 100644 index 000000000..93ffb1388 --- /dev/null +++ b/3.0.5/apidocs/member-search-index.js @@ -0,0 +1 @@ +memberSearchIndex = [{"p":"com.okta.spring.boot.sdk.cache","c":"SpringCacheManager","l":"afterPropertiesSet()"},{"p":"com.okta.spring.boot.oauth.http","c":"Auth0ClientRequestInterceptor","l":"Auth0ClientRequestInterceptor()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.example.controllers","c":"SignInWidgetConfigController.WidgetConfig","l":"authParams"},{"p":"com.okta.spring.example.controllers","c":"SignInWidgetConfigController.WidgetConfig","l":"baseUrl"},{"p":"com.okta.spring.tests.common.servlet.jwt","c":"BasicJwtResourceServerApplication","l":"BasicJwtResourceServerApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","c":"BasicOpaqueTokenResourceServerApplication","l":"BasicOpaqueTokenResourceServerApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.tests.common.servlet.code","c":"BasicRedirectCodeFlowApplication","l":"BasicRedirectCodeFlowApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.example.controllers","c":"SignInWidgetConfigController.WidgetConfig","l":"clientId"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties.ClientProxyInfo","l":"ClientProxyInfo()","u":"%3Cinit%3E()"},{"p":"com.okta.example.cloud.configserver","c":"ConfigServerApplication","l":"ConfigServerApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.boot.oauth","c":"Okta","l":"configureOAuth2WithPkce(HttpSecurity, ClientRegistrationRepository)","u":"configureOAuth2WithPkce(org.springframework.security.config.annotation.web.builders.HttpSecurity,org.springframework.security.oauth2.client.registration.ClientRegistrationRepository)"},{"p":"com.okta.spring.boot.oauth","c":"Okta","l":"configureOAuth2WithPkce(ServerHttpSecurity, ReactiveClientRegistrationRepository)","u":"configureOAuth2WithPkce(org.springframework.security.config.web.server.ServerHttpSecurity,org.springframework.security.oauth2.client.registration.ReactiveClientRegistrationRepository)"},{"p":"com.okta.spring.boot.oauth","c":"Okta","l":"configureResourceServer401ResponseBody(HttpSecurity)","u":"configureResourceServer401ResponseBody(org.springframework.security.config.annotation.web.builders.HttpSecurity)"},{"p":"com.okta.spring.boot.oauth","c":"Okta","l":"configureResourceServer401ResponseBody(ServerHttpSecurity)","u":"configureResourceServer401ResponseBody(org.springframework.security.config.web.server.ServerHttpSecurity)"},{"p":"com.okta.spring.tests.common.reactive.code","c":"ReactiveRedirectCodeFlowApplication","l":"everyoneAccess(Principal)","u":"everyoneAccess(java.security.Principal)"},{"p":"com.okta.spring.tests.common.reactive.implicit","c":"ReactiveImplicitFlowApplication.MessageOfTheDayController","l":"everyoneAccess(Principal)","u":"everyoneAccess(java.security.Principal)"},{"p":"com.okta.spring.tests.common.servlet.code","c":"BasicRedirectCodeFlowApplication","l":"everyoneAccess(Principal)","u":"everyoneAccess(java.security.Principal)"},{"p":"com.okta.spring.tests.common.servlet.jwt","c":"BasicJwtResourceServerApplication.MessageOfTheDayController","l":"everyoneAccess(Principal)","u":"everyoneAccess(java.security.Principal)"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","c":"BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController","l":"everyoneAccess(Principal)","u":"everyoneAccess(java.security.Principal)"},{"p":"com.okta.spring.boot.sdk.cache","c":"SpringCache","l":"get(K)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"getAudience()"},{"p":"com.okta.spring.boot.oauth","c":"AuthoritiesProvider","l":"getAuthorities(OAuth2User, OAuth2UserRequest)","u":"getAuthorities(org.springframework.security.oauth2.core.user.OAuth2User,org.springframework.security.oauth2.client.userinfo.OAuth2UserRequest)"},{"p":"com.okta.spring.boot.oauth","c":"AuthoritiesProvider","l":"getAuthorities(OidcUser, OidcUserRequest)","u":"getAuthorities(org.springframework.security.oauth2.core.oidc.user.OidcUser,org.springframework.security.oauth2.client.oidc.userinfo.OidcUserRequest)"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"getAuthorizationURI()"},{"p":"com.okta.spring.boot.sdk.cache","c":"SpringCacheManager","l":"getCache(String)","u":"getCache(java.lang.String)"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"getClientAuthenticationMethod()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"getClientId()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"getClientSecret()"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties","l":"getConnectionTimeout()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"getGroupsClaim()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties.Proxy","l":"getHost()"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties.ClientProxyInfo","l":"getHostname()"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"getIntrospectionURI()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"getIssuer()"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"getJwkSetURI()"},{"p":"com.okta.spring.example.controllers","c":"WelcomeController","l":"getMessageOfTheDay(Principal)","u":"getMessageOfTheDay(java.security.Principal)"},{"p":"com.okta.spring.tests.common.reactive.code","c":"ReactiveRedirectCodeFlowApplication","l":"getMessageOfTheDay(Principal)","u":"getMessageOfTheDay(java.security.Principal)"},{"p":"com.okta.spring.tests.common.reactive.implicit","c":"ReactiveImplicitFlowApplication.MessageOfTheDayController","l":"getMessageOfTheDay(Principal)","u":"getMessageOfTheDay(java.security.Principal)"},{"p":"com.okta.spring.tests.common.servlet.code","c":"BasicRedirectCodeFlowApplication","l":"getMessageOfTheDay(Principal)","u":"getMessageOfTheDay(java.security.Principal)"},{"p":"com.okta.spring.tests.common.servlet.jwt","c":"BasicJwtResourceServerApplication.MessageOfTheDayController","l":"getMessageOfTheDay(Principal)","u":"getMessageOfTheDay(java.security.Principal)"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","c":"BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController","l":"getMessageOfTheDay(Principal)","u":"getMessageOfTheDay(java.security.Principal)"},{"p":"com.okta.spring.boot.oauth.env","c":"OktaEnvironmentPostProcessorApplicationListener","l":"getOrder()"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties","l":"getOrgUrl()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties.Proxy","l":"getPassword()"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties.ClientProxyInfo","l":"getPassword()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties.Proxy","l":"getPort()"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties.ClientProxyInfo","l":"getPort()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"getPostLogoutRedirectUri()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"getProxy()"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties","l":"getProxy()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"getRedirectUri()"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"getScope()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"getScopes()"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties","l":"getToken()"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"getTokenURI()"},{"p":"com.okta.spring.tests.common.reactive.implicit","c":"ReactiveImplicitFlowApplication.MessageOfTheDayController","l":"getUserDetails(Authentication)","u":"getUserDetails(org.springframework.security.core.Authentication)"},{"p":"com.okta.spring.tests.common.servlet.jwt","c":"BasicJwtResourceServerApplication.MessageOfTheDayController","l":"getUserDetails(Authentication)","u":"getUserDetails(org.springframework.security.core.Authentication)"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","c":"BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController","l":"getUserDetails(Authentication)","u":"getUserDetails(org.springframework.security.core.Authentication)"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"getUserInfoURI()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties.Proxy","l":"getUsername()"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties.ClientProxyInfo","l":"getUsername()"},{"p":"com.okta.spring.example.controllers","c":"SignInWidgetConfigController","l":"getWidgetConfig()"},{"p":"com.okta.spring.example","c":"HostedLoginCodeFlowExampleApplication","l":"HostedLoginCodeFlowExampleApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.example","c":"ImplicitFlowApplication","l":"ImplicitFlowApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.boot.oauth.http","c":"Auth0ClientRequestInterceptor","l":"intercept(HttpRequest, byte[], ClientHttpRequestExecution)","u":"intercept(org.springframework.http.HttpRequest,byte[],org.springframework.http.client.ClientHttpRequestExecution)"},{"p":"com.okta.spring.boot.oauth.http","c":"UserAgentRequestInterceptor","l":"intercept(HttpRequest, byte[], ClientHttpRequestExecution)","u":"intercept(org.springframework.http.HttpRequest,byte[],org.springframework.http.client.ClientHttpRequestExecution)"},{"p":"com.okta.spring.tests.common.reactive.code","c":"ReactiveRedirectCodeFlowApplication","l":"invalidGroup()"},{"p":"com.okta.spring.tests.common.servlet.code","c":"BasicRedirectCodeFlowApplication","l":"invalidGroup()"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","c":"BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController","l":"invalidScope()"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"isAuth0()"},{"p":"com.okta.spring.example.controllers","c":"LoginController","l":"login(String)","u":"login(java.lang.String)"},{"p":"com.okta.spring.example.controllers","c":"LoginController","l":"LoginController(OktaOAuth2Properties)","u":"%3Cinit%3E(com.okta.spring.boot.oauth.config.OktaOAuth2Properties)"},{"p":"com.okta.example.cloud.configserver","c":"ConfigServerApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.example","c":"HostedLoginCodeFlowExampleApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.example","c":"ImplicitFlowApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.example","c":"RedirectCodeFlowApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.example.webflux","c":"ReactiveApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.tests.common.reactive.code","c":"ReactiveRedirectCodeFlowApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.tests.common.reactive.implicit","c":"ReactiveImplicitFlowApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.tests.common.servlet.code","c":"BasicRedirectCodeFlowApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.tests.common.servlet.jwt","c":"BasicJwtResourceServerApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","c":"BasicOpaqueTokenResourceServerApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.example.controllers","c":"WelcomeController.Welcome","l":"messageOfTheDay"},{"p":"com.okta.spring.tests.common.reactive.implicit","c":"ReactiveImplicitFlowApplication.MessageOfTheDayController","l":"MessageOfTheDayController()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.tests.common.servlet.jwt","c":"BasicJwtResourceServerApplication.MessageOfTheDayController","l":"MessageOfTheDayController()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","c":"BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController","l":"MessageOfTheDayController()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.tests.common.reactive.implicit","c":"ReactiveImplicitFlowApplication.MessageOfTheDayController","l":"messages()"},{"p":"com.okta.spring.tests.common.servlet.jwt","c":"BasicJwtResourceServerApplication.MessageOfTheDayController","l":"messages()"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","c":"BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController","l":"messages()"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"OIDCMetadata(ResponseEntity)","u":"%3Cinit%3E(org.springframework.http.ResponseEntity)"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"OIDCMetadata(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties","l":"OktaClientProperties()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.boot.oauth.env","c":"OktaEnvironmentPostProcessorApplicationListener","l":"OktaEnvironmentPostProcessorApplicationListener()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"OktaOAuth2Properties(OAuth2ClientProperties)","u":"%3Cinit%3E(org.springframework.boot.autoconfigure.security.oauth2.client.OAuth2ClientProperties)"},{"p":"com.okta.spring.boot.sdk","c":"OktaSdkConfig","l":"oktaSdkClient()"},{"p":"com.okta.spring.boot.sdk","c":"OktaSdkConfig","l":"oktaSdkClientCredentials()"},{"p":"com.okta.spring.boot.sdk","c":"OktaSdkConfig","l":"OktaSdkConfig(OktaClientProperties, CacheManager)","u":"%3Cinit%3E(com.okta.spring.boot.sdk.config.OktaClientProperties,org.springframework.cache.CacheManager)"},{"p":"com.okta.spring.boot.oauth.env","c":"OktaEnvironmentPostProcessorApplicationListener","l":"onApplicationEvent(ApplicationEvent)","u":"onApplicationEvent(org.springframework.context.ApplicationEvent)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties.Proxy","l":"Proxy()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.boot.sdk.cache","c":"SpringCache","l":"put(K, V)","u":"put(K,V)"},{"p":"com.okta.spring.example.webflux","c":"ReactiveApplication","l":"ReactiveApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.tests.common.reactive.implicit","c":"ReactiveImplicitFlowApplication","l":"ReactiveImplicitFlowApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.tests.common.reactive.code","c":"ReactiveRedirectCodeFlowApplication","l":"ReactiveRedirectCodeFlowApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.example","c":"RedirectCodeFlowApplication","l":"RedirectCodeFlowApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.boot.sdk.cache","c":"SpringCache","l":"remove(K)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"setAudience(String)","u":"setAudience(java.lang.String)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"setClientId(String)","u":"setClientId(java.lang.String)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"setClientSecret(String)","u":"setClientSecret(java.lang.String)"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties","l":"setConnectionTimeout(int)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"setGroupsClaim(String)","u":"setGroupsClaim(java.lang.String)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties.Proxy","l":"setHost(String)","u":"setHost(java.lang.String)"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties.ClientProxyInfo","l":"setHostname(String)","u":"setHostname(java.lang.String)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"setIssuer(String)","u":"setIssuer(java.lang.String)"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties","l":"setOrgUrl(String)","u":"setOrgUrl(java.lang.String)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties.Proxy","l":"setPassword(String)","u":"setPassword(java.lang.String)"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties.ClientProxyInfo","l":"setPassword(String)","u":"setPassword(java.lang.String)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties.Proxy","l":"setPort(int)"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties.ClientProxyInfo","l":"setPort(int)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"setPostLogoutRedirectUri(String)","u":"setPostLogoutRedirectUri(java.lang.String)"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties","l":"setProxy(OktaClientProperties.ClientProxyInfo)","u":"setProxy(com.okta.spring.boot.sdk.config.OktaClientProperties.ClientProxyInfo)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"setProxy(OktaOAuth2Properties.Proxy)","u":"setProxy(com.okta.spring.boot.oauth.config.OktaOAuth2Properties.Proxy)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"setRedirectUri(String)","u":"setRedirectUri(java.lang.String)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"setScopes(Set)","u":"setScopes(java.util.Set)"},{"p":"com.okta.spring.boot.sdk.cache","c":"SpringCacheManager","l":"setSpringCacheManager(CacheManager)","u":"setSpringCacheManager(org.springframework.cache.CacheManager)"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties","l":"setToken(String)","u":"setToken(java.lang.String)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties.Proxy","l":"setUsername(String)","u":"setUsername(java.lang.String)"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties.ClientProxyInfo","l":"setUsername(String)","u":"setUsername(java.lang.String)"},{"p":"com.okta.spring.example.controllers","c":"SignInWidgetConfigController","l":"SignInWidgetConfigController(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"com.okta.spring.boot.sdk.cache","c":"SpringCache","l":"SpringCache(Cache)","u":"%3Cinit%3E(org.springframework.cache.Cache)"},{"p":"com.okta.spring.boot.sdk.cache","c":"SpringCacheManager","l":"SpringCacheManager()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.boot.sdk.cache","c":"SpringCacheManager","l":"SpringCacheManager(CacheManager)","u":"%3Cinit%3E(org.springframework.cache.CacheManager)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"supports(Class)","u":"supports(java.lang.Class)"},{"p":"com.okta.spring.boot.oauth.env","c":"OktaEnvironmentPostProcessorApplicationListener","l":"supportsEventType(Class)","u":"supportsEventType(java.lang.Class)"},{"p":"com.okta.spring.boot.oauth.http","c":"UserAgentRequestInterceptor","l":"UserAgentRequestInterceptor()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.example.webflux","c":"ReactiveApplication","l":"userDetailsMono(Mono)","u":"userDetailsMono(reactor.core.publisher.Mono)"},{"p":"com.okta.spring.example.controllers","c":"WelcomeController.Welcome","l":"username"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"validate(Object, Errors)","u":"validate(java.lang.Object,org.springframework.validation.Errors)"},{"p":"com.okta.spring.example.controllers","c":"WelcomeController.Welcome","l":"Welcome(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"com.okta.spring.example.controllers","c":"WelcomeController","l":"WelcomeController()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.example.controllers","c":"SignInWidgetConfigController.WidgetConfig","l":"WidgetConfig(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"}];updateSearchResults(); \ No newline at end of file diff --git a/3.0.5/apidocs/module-search-index.js b/3.0.5/apidocs/module-search-index.js new file mode 100644 index 000000000..0d59754fc --- /dev/null +++ b/3.0.5/apidocs/module-search-index.js @@ -0,0 +1 @@ +moduleSearchIndex = [];updateSearchResults(); \ No newline at end of file diff --git a/3.0.5/apidocs/overview-summary.html b/3.0.5/apidocs/overview-summary.html new file mode 100644 index 000000000..567bc9119 --- /dev/null +++ b/3.0.5/apidocs/overview-summary.html @@ -0,0 +1,26 @@ + + + + +Okta Spring Boot 3.0.5 API + + + + + + + + + + + +
+ +

index.html

+
+ + diff --git a/3.0.5/apidocs/overview-tree.html b/3.0.5/apidocs/overview-tree.html new file mode 100644 index 000000000..5b7a1c8c6 --- /dev/null +++ b/3.0.5/apidocs/overview-tree.html @@ -0,0 +1,127 @@ + + + + +Class Hierarchy (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
+ +
+
+ +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+
+ +
+
+
+ + diff --git a/3.0.5/apidocs/package-search-index.js b/3.0.5/apidocs/package-search-index.js new file mode 100644 index 000000000..2ec9d4c6d --- /dev/null +++ b/3.0.5/apidocs/package-search-index.js @@ -0,0 +1 @@ +packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"l":"com.okta.example.cloud.configserver"},{"l":"com.okta.spring.boot.oauth"},{"l":"com.okta.spring.boot.oauth.config"},{"l":"com.okta.spring.boot.oauth.env"},{"l":"com.okta.spring.boot.oauth.http"},{"l":"com.okta.spring.boot.sdk"},{"l":"com.okta.spring.boot.sdk.cache"},{"l":"com.okta.spring.boot.sdk.config"},{"l":"com.okta.spring.boot.sdk.env"},{"l":"com.okta.spring.example"},{"l":"com.okta.spring.example.controllers"},{"l":"com.okta.spring.example.webflux"},{"l":"com.okta.spring.tests.common.reactive.code"},{"l":"com.okta.spring.tests.common.reactive.implicit"},{"l":"com.okta.spring.tests.common.servlet.code"},{"l":"com.okta.spring.tests.common.servlet.jwt"},{"l":"com.okta.spring.tests.common.servlet.opaquetoken"}];updateSearchResults(); \ No newline at end of file diff --git a/3.0.5/apidocs/resources/glass.png b/3.0.5/apidocs/resources/glass.png new file mode 100644 index 000000000..a7f591f46 Binary files /dev/null and b/3.0.5/apidocs/resources/glass.png differ diff --git a/3.0.5/apidocs/resources/x.png b/3.0.5/apidocs/resources/x.png new file mode 100644 index 000000000..30548a756 Binary files /dev/null and b/3.0.5/apidocs/resources/x.png differ diff --git a/3.0.5/apidocs/script-dir/jquery-3.6.0.min.js b/3.0.5/apidocs/script-dir/jquery-3.6.0.min.js new file mode 100644 index 000000000..c4c6022f2 --- /dev/null +++ b/3.0.5/apidocs/script-dir/jquery-3.6.0.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=x(e||this.defaultElement||this)[0],this.element=x(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=x(),this.hoverable=x(),this.focusable=x(),this.classesElementLookup={},e!==this&&(x.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=x(e.style?e.ownerDocument:e.document||e),this.window=x(this.document[0].defaultView||this.document[0].parentWindow)),this.options=x.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:x.noop,_create:x.noop,_init:x.noop,destroy:function(){var i=this;this._destroy(),x.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:x.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return x.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=x.widget.extend({},this.options[t]),n=0;n
"),i=e.children()[0];return x("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthC(E(s),E(n))?o.important="horizontal":o.important="vertical",c.using.call(this,t,o)}),l.offset(x.extend(u,{using:t}))})},x.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,l=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.lastMousePosition={x:null,y:null},this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault(),this._activateItem(t)},"click .ui-menu-item":function(t){var e=x(t.target),i=x(x.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&e.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),e.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&i.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":"_activateItem","mousemove .ui-menu-item":"_activateItem",mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this._menuItems().first();e||this.focus(t,i)},blur:function(t){this._delay(function(){x.contains(this.element[0],x.ui.safeActiveElement(this.document[0]))||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t,!0),this.mouseHandled=!1}})},_activateItem:function(t){var e,i;this.previousFilter||t.clientX===this.lastMousePosition.x&&t.clientY===this.lastMousePosition.y||(this.lastMousePosition={x:t.clientX,y:t.clientY},e=x(t.target).closest(".ui-menu-item"),i=x(t.currentTarget),e[0]===i[0]&&(i.is(".ui-state-active")||(this._removeClass(i.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(t,i))))},_destroy:function(){var t=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),t.children().each(function(){var t=x(this);t.data("ui-menu-submenu-caret")&&t.remove()})},_keydown:function(t){var e,i,s,n=!0;switch(t.keyCode){case x.ui.keyCode.PAGE_UP:this.previousPage(t);break;case x.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case x.ui.keyCode.HOME:this._move("first","first",t);break;case x.ui.keyCode.END:this._move("last","last",t);break;case x.ui.keyCode.UP:this.previous(t);break;case x.ui.keyCode.DOWN:this.next(t);break;case x.ui.keyCode.LEFT:this.collapse(t);break;case x.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case x.ui.keyCode.ENTER:case x.ui.keyCode.SPACE:this._activate(t);break;case x.ui.keyCode.ESCAPE:this.collapse(t);break;default:e=this.previousFilter||"",s=n=!1,i=96<=t.keyCode&&t.keyCode<=105?(t.keyCode-96).toString():String.fromCharCode(t.keyCode),clearTimeout(this.filterTimer),i===e?s=!0:i=e+i,e=this._filterMenuItems(i),(e=s&&-1!==e.index(this.active.next())?this.active.nextAll(".ui-menu-item"):e).length||(i=String.fromCharCode(t.keyCode),e=this._filterMenuItems(i)),e.length?(this.focus(t,e),this.previousFilter=i,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}n&&t.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var t,e,s=this,n=this.options.icons.submenu,i=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),e=i.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=x(this),e=t.prev(),i=x("").data("ui-menu-submenu-caret",!0);s._addClass(i,"ui-menu-icon","ui-icon "+n),e.attr("aria-haspopup","true").prepend(i),t.attr("aria-labelledby",e.attr("id"))}),this._addClass(e,"ui-menu","ui-widget ui-widget-content ui-front"),(t=i.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var t=x(this);s._isDivider(t)&&s._addClass(t,"ui-menu-divider","ui-widget-content")}),i=(e=t.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(e,"ui-menu-item")._addClass(i,"ui-menu-item-wrapper"),t.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!x.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){var i;"icons"===t&&(i=this.element.find(".ui-menu-icon"),this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),i=this.active.children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",i.attr("id")),i=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(t){var e,i,s;this._hasScroll()&&(i=parseFloat(x.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(x.css(this.activeMenu[0],"paddingTop"))||0,e=t.offset().top-this.activeMenu.offset().top-i-s,i=this.activeMenu.scrollTop(),s=this.activeMenu.height(),t=t.outerHeight(),e<0?this.activeMenu.scrollTop(i+e):s",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,liveRegionTimer:null,_create:function(){var i,s,n,t=this.element[0].nodeName.toLowerCase(),e="textarea"===t,t="input"===t;this.isMultiLine=e||!t&&this._isContentEditable(this.element),this.valueMethod=this.element[e||t?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(t){if(this.element.prop("readOnly"))s=n=i=!0;else{s=n=i=!1;var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:i=!0,this._move("previousPage",t);break;case e.PAGE_DOWN:i=!0,this._move("nextPage",t);break;case e.UP:i=!0,this._keyEvent("previous",t);break;case e.DOWN:i=!0,this._keyEvent("next",t);break;case e.ENTER:this.menu.active&&(i=!0,t.preventDefault(),this.menu.select(t));break;case e.TAB:this.menu.active&&this.menu.select(t);break;case e.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(t),t.preventDefault());break;default:s=!0,this._searchTimeout(t)}}},keypress:function(t){if(i)return i=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||t.preventDefault());if(!s){var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:this._move("previousPage",t);break;case e.PAGE_DOWN:this._move("nextPage",t);break;case e.UP:this._keyEvent("previous",t);break;case e.DOWN:this._keyEvent("next",t)}}},input:function(t){if(n)return n=!1,void t.preventDefault();this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){clearTimeout(this.searching),this.close(t),this._change(t)}}),this._initSource(),this.menu=x("
    ").appendTo(this._appendTo()).menu({role:null}).hide().attr({unselectable:"on"}).menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault()},menufocus:function(t,e){var i,s;if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",function(){x(t.target).trigger(t.originalEvent)});s=e.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",t,{item:s})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(s.value),(i=e.item.attr("aria-label")||s.value)&&String.prototype.trim.call(i).length&&(clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(x("
    ").text(i))},100))},menuselect:function(t,e){var i=e.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==x.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",t,{item:i})&&this._value(i.value),this.term=this._value(),this.close(t),this.selectedItem=i}}),this.liveRegion=x("
    ",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(t){var e=this.menu.element[0];return t.target===this.element[0]||t.target===e||x.contains(e,t.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var t=this.options.appendTo;return t=!(t=!(t=t&&(t.jquery||t.nodeType?x(t):this.document.find(t).eq(0)))||!t[0]?this.element.closest(".ui-front, dialog"):t).length?this.document[0].body:t},_initSource:function(){var i,s,n=this;Array.isArray(this.options.source)?(i=this.options.source,this.source=function(t,e){e(x.ui.autocomplete.filter(i,t.term))}):"string"==typeof this.options.source?(s=this.options.source,this.source=function(t,e){n.xhr&&n.xhr.abort(),n.xhr=x.ajax({url:s,data:t,dataType:"json",success:function(t){e(t)},error:function(){e([])}})}):this.source=this.options.source},_searchTimeout:function(s){clearTimeout(this.searching),this.searching=this._delay(function(){var t=this.term===this._value(),e=this.menu.element.is(":visible"),i=s.altKey||s.ctrlKey||s.metaKey||s.shiftKey;t&&(e||i)||(this.selectedItem=null,this.search(null,s))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length").append(x("
    ").text(e.label)).appendTo(t)},_move:function(t,e){if(this.menu.element.is(":visible"))return this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[t](e);this.search(null,e)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),x.extend(x.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,e){var i=new RegExp(x.ui.autocomplete.escapeRegex(e),"i");return x.grep(t,function(t){return i.test(t.label||t.value||t)})}}),x.widget("ui.autocomplete",x.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(1").text(e))},100))}});x.ui.autocomplete}); \ No newline at end of file diff --git a/3.0.5/apidocs/script.js b/3.0.5/apidocs/script.js new file mode 100644 index 000000000..864989cf4 --- /dev/null +++ b/3.0.5/apidocs/script.js @@ -0,0 +1,132 @@ +/* + * Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +var moduleSearchIndex; +var packageSearchIndex; +var typeSearchIndex; +var memberSearchIndex; +var tagSearchIndex; +function loadScripts(doc, tag) { + createElem(doc, tag, 'search.js'); + + createElem(doc, tag, 'module-search-index.js'); + createElem(doc, tag, 'package-search-index.js'); + createElem(doc, tag, 'type-search-index.js'); + createElem(doc, tag, 'member-search-index.js'); + createElem(doc, tag, 'tag-search-index.js'); +} + +function createElem(doc, tag, path) { + var script = doc.createElement(tag); + var scriptElement = doc.getElementsByTagName(tag)[0]; + script.src = pathtoroot + path; + scriptElement.parentNode.insertBefore(script, scriptElement); +} + +function show(tableId, selected, columns) { + if (tableId !== selected) { + document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')') + .forEach(function(elem) { + elem.style.display = 'none'; + }); + } + document.querySelectorAll('div.' + selected) + .forEach(function(elem, index) { + elem.style.display = ''; + var isEvenRow = index % (columns * 2) < columns; + elem.classList.remove(isEvenRow ? oddRowColor : evenRowColor); + elem.classList.add(isEvenRow ? evenRowColor : oddRowColor); + }); + updateTabs(tableId, selected); +} + +function updateTabs(tableId, selected) { + document.querySelector('div#' + tableId +' .summary-table') + .setAttribute('aria-labelledby', selected); + document.querySelectorAll('button[id^="' + tableId + '"]') + .forEach(function(tab, index) { + if (selected === tab.id || (tableId === selected && index === 0)) { + tab.className = activeTableTab; + tab.setAttribute('aria-selected', true); + tab.setAttribute('tabindex',0); + } else { + tab.className = tableTab; + tab.setAttribute('aria-selected', false); + tab.setAttribute('tabindex',-1); + } + }); +} + +function switchTab(e) { + var selected = document.querySelector('[aria-selected=true]'); + if (selected) { + if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) { + // left or up arrow key pressed: move focus to previous tab + selected.previousSibling.click(); + selected.previousSibling.focus(); + e.preventDefault(); + } else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) { + // right or down arrow key pressed: move focus to next tab + selected.nextSibling.click(); + selected.nextSibling.focus(); + e.preventDefault(); + } + } +} + +var updateSearchResults = function() {}; + +function indexFilesLoaded() { + return moduleSearchIndex + && packageSearchIndex + && typeSearchIndex + && memberSearchIndex + && tagSearchIndex; +} + +// Workaround for scroll position not being included in browser history (8249133) +document.addEventListener("DOMContentLoaded", function(e) { + var contentDiv = document.querySelector("div.flex-content"); + window.addEventListener("popstate", function(e) { + if (e.state !== null) { + contentDiv.scrollTop = e.state; + } + }); + window.addEventListener("hashchange", function(e) { + history.replaceState(contentDiv.scrollTop, document.title); + }); + contentDiv.addEventListener("scroll", function(e) { + var timeoutID; + if (!timeoutID) { + timeoutID = setTimeout(function() { + history.replaceState(contentDiv.scrollTop, document.title); + timeoutID = null; + }, 100); + } + }); + if (!location.hash) { + history.replaceState(contentDiv.scrollTop, document.title); + } +}); diff --git a/3.0.5/apidocs/search.js b/3.0.5/apidocs/search.js new file mode 100644 index 000000000..2246cdd0d --- /dev/null +++ b/3.0.5/apidocs/search.js @@ -0,0 +1,354 @@ +/* + * Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +var noResult = {l: "No results found"}; +var loading = {l: "Loading search index..."}; +var catModules = "Modules"; +var catPackages = "Packages"; +var catTypes = "Types"; +var catMembers = "Members"; +var catSearchTags = "Search Tags"; +var highlight = "$&"; +var searchPattern = ""; +var fallbackPattern = ""; +var RANKING_THRESHOLD = 2; +var NO_MATCH = 0xffff; +var MIN_RESULTS = 3; +var MAX_RESULTS = 500; +var UNNAMED = ""; +function escapeHtml(str) { + return str.replace(//g, ">"); +} +function getHighlightedText(item, matcher, fallbackMatcher) { + var escapedItem = escapeHtml(item); + var highlighted = escapedItem.replace(matcher, highlight); + if (highlighted === escapedItem) { + highlighted = escapedItem.replace(fallbackMatcher, highlight) + } + return highlighted; +} +function getURLPrefix(ui) { + var urlPrefix=""; + var slash = "/"; + if (ui.item.category === catModules) { + return ui.item.l + slash; + } else if (ui.item.category === catPackages && ui.item.m) { + return ui.item.m + slash; + } else if (ui.item.category === catTypes || ui.item.category === catMembers) { + if (ui.item.m) { + urlPrefix = ui.item.m + slash; + } else { + $.each(packageSearchIndex, function(index, item) { + if (item.m && ui.item.p === item.l) { + urlPrefix = item.m + slash; + } + }); + } + } + return urlPrefix; +} +function createSearchPattern(term) { + var pattern = ""; + var isWordToken = false; + term.replace(/,\s*/g, ", ").trim().split(/\s+/).forEach(function(w, index) { + if (index > 0) { + // whitespace between identifiers is significant + pattern += (isWordToken && /^\w/.test(w)) ? "\\s+" : "\\s*"; + } + var tokens = w.split(/(?=[A-Z,.()<>[\/])/); + for (var i = 0; i < tokens.length; i++) { + var s = tokens[i]; + if (s === "") { + continue; + } + pattern += $.ui.autocomplete.escapeRegex(s); + isWordToken = /\w$/.test(s); + if (isWordToken) { + pattern += "([a-z0-9_$<>\\[\\]]*?)"; + } + } + }); + return pattern; +} +function createMatcher(pattern, flags) { + var isCamelCase = /[A-Z]/.test(pattern); + return new RegExp(pattern, flags + (isCamelCase ? "" : "i")); +} +var watermark = 'Search'; +$(function() { + var search = $("#search-input"); + var reset = $("#reset-button"); + search.val(''); + search.prop("disabled", false); + reset.prop("disabled", false); + search.val(watermark).addClass('watermark'); + search.blur(function() { + if ($(this).val().length === 0) { + $(this).val(watermark).addClass('watermark'); + } + }); + search.on('click keydown paste', function() { + if ($(this).val() === watermark) { + $(this).val('').removeClass('watermark'); + } + }); + reset.click(function() { + search.val('').focus(); + }); + search.focus()[0].setSelectionRange(0, 0); +}); +$.widget("custom.catcomplete", $.ui.autocomplete, { + _create: function() { + this._super(); + this.widget().menu("option", "items", "> :not(.ui-autocomplete-category)"); + }, + _renderMenu: function(ul, items) { + var rMenu = this; + var currentCategory = ""; + rMenu.menu.bindings = $(); + $.each(items, function(index, item) { + var li; + if (item.category && item.category !== currentCategory) { + ul.append("
  • " + item.category + "
  • "); + currentCategory = item.category; + } + li = rMenu._renderItemData(ul, item); + if (item.category) { + li.attr("aria-label", item.category + " : " + item.l); + li.attr("class", "result-item"); + } else { + li.attr("aria-label", item.l); + li.attr("class", "result-item"); + } + }); + }, + _renderItem: function(ul, item) { + var label = ""; + var matcher = createMatcher(escapeHtml(searchPattern), "g"); + var fallbackMatcher = new RegExp(fallbackPattern, "gi") + if (item.category === catModules) { + label = getHighlightedText(item.l, matcher, fallbackMatcher); + } else if (item.category === catPackages) { + label = getHighlightedText(item.l, matcher, fallbackMatcher); + } else if (item.category === catTypes) { + label = (item.p && item.p !== UNNAMED) + ? getHighlightedText(item.p + "." + item.l, matcher, fallbackMatcher) + : getHighlightedText(item.l, matcher, fallbackMatcher); + } else if (item.category === catMembers) { + label = (item.p && item.p !== UNNAMED) + ? getHighlightedText(item.p + "." + item.c + "." + item.l, matcher, fallbackMatcher) + : getHighlightedText(item.c + "." + item.l, matcher, fallbackMatcher); + } else if (item.category === catSearchTags) { + label = getHighlightedText(item.l, matcher, fallbackMatcher); + } else { + label = item.l; + } + var li = $("
  • ").appendTo(ul); + var div = $("
    ").appendTo(li); + if (item.category === catSearchTags && item.h) { + if (item.d) { + div.html(label + " (" + item.h + ")
    " + + item.d + "
    "); + } else { + div.html(label + " (" + item.h + ")"); + } + } else { + if (item.m) { + div.html(item.m + "/" + label); + } else { + div.html(label); + } + } + return li; + } +}); +function rankMatch(match, category) { + if (!match) { + return NO_MATCH; + } + var index = match.index; + var input = match.input; + var leftBoundaryMatch = 2; + var periferalMatch = 0; + // make sure match is anchored on a left word boundary + if (index === 0 || /\W/.test(input[index - 1]) || "_" === input[index]) { + leftBoundaryMatch = 0; + } else if ("_" === input[index - 1] || (input[index] === input[index].toUpperCase() && !/^[A-Z0-9_$]+$/.test(input))) { + leftBoundaryMatch = 1; + } + var matchEnd = index + match[0].length; + var leftParen = input.indexOf("("); + var endOfName = leftParen > -1 ? leftParen : input.length; + // exclude peripheral matches + if (category !== catModules && category !== catSearchTags) { + var delim = category === catPackages ? "/" : "."; + if (leftParen > -1 && leftParen < index) { + periferalMatch += 2; + } else if (input.lastIndexOf(delim, endOfName) >= matchEnd) { + periferalMatch += 2; + } + } + var delta = match[0].length === endOfName ? 0 : 1; // rank full match higher than partial match + for (var i = 1; i < match.length; i++) { + // lower ranking if parts of the name are missing + if (match[i]) + delta += match[i].length; + } + if (category === catTypes) { + // lower ranking if a type name contains unmatched camel-case parts + if (/[A-Z]/.test(input.substring(matchEnd))) + delta += 5; + if (/[A-Z]/.test(input.substring(0, index))) + delta += 5; + } + return leftBoundaryMatch + periferalMatch + (delta / 200); + +} +function doSearch(request, response) { + var result = []; + searchPattern = createSearchPattern(request.term); + fallbackPattern = createSearchPattern(request.term.toLowerCase()); + if (searchPattern === "") { + return this.close(); + } + var camelCaseMatcher = createMatcher(searchPattern, ""); + var fallbackMatcher = new RegExp(fallbackPattern, "i"); + + function searchIndexWithMatcher(indexArray, matcher, category, nameFunc) { + if (indexArray) { + var newResults = []; + $.each(indexArray, function (i, item) { + item.category = category; + var ranking = rankMatch(matcher.exec(nameFunc(item)), category); + if (ranking < RANKING_THRESHOLD) { + newResults.push({ranking: ranking, item: item}); + } + return newResults.length <= MAX_RESULTS; + }); + return newResults.sort(function(e1, e2) { + return e1.ranking - e2.ranking; + }).map(function(e) { + return e.item; + }); + } + return []; + } + function searchIndex(indexArray, category, nameFunc) { + var primaryResults = searchIndexWithMatcher(indexArray, camelCaseMatcher, category, nameFunc); + result = result.concat(primaryResults); + if (primaryResults.length <= MIN_RESULTS && !camelCaseMatcher.ignoreCase) { + var secondaryResults = searchIndexWithMatcher(indexArray, fallbackMatcher, category, nameFunc); + result = result.concat(secondaryResults.filter(function (item) { + return primaryResults.indexOf(item) === -1; + })); + } + } + + searchIndex(moduleSearchIndex, catModules, function(item) { return item.l; }); + searchIndex(packageSearchIndex, catPackages, function(item) { + return (item.m && request.term.indexOf("/") > -1) + ? (item.m + "/" + item.l) : item.l; + }); + searchIndex(typeSearchIndex, catTypes, function(item) { + return request.term.indexOf(".") > -1 ? item.p + "." + item.l : item.l; + }); + searchIndex(memberSearchIndex, catMembers, function(item) { + return request.term.indexOf(".") > -1 + ? item.p + "." + item.c + "." + item.l : item.l; + }); + searchIndex(tagSearchIndex, catSearchTags, function(item) { return item.l; }); + + if (!indexFilesLoaded()) { + updateSearchResults = function() { + doSearch(request, response); + } + result.unshift(loading); + } else { + updateSearchResults = function() {}; + } + response(result); +} +$(function() { + $("#search-input").catcomplete({ + minLength: 1, + delay: 300, + source: doSearch, + response: function(event, ui) { + if (!ui.content.length) { + ui.content.push(noResult); + } else { + $("#search-input").empty(); + } + }, + autoFocus: true, + focus: function(event, ui) { + return false; + }, + position: { + collision: "flip" + }, + select: function(event, ui) { + if (ui.item.category) { + var url = getURLPrefix(ui); + if (ui.item.category === catModules) { + url += "module-summary.html"; + } else if (ui.item.category === catPackages) { + if (ui.item.u) { + url = ui.item.u; + } else { + url += ui.item.l.replace(/\./g, '/') + "/package-summary.html"; + } + } else if (ui.item.category === catTypes) { + if (ui.item.u) { + url = ui.item.u; + } else if (ui.item.p === UNNAMED) { + url += ui.item.l + ".html"; + } else { + url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.l + ".html"; + } + } else if (ui.item.category === catMembers) { + if (ui.item.p === UNNAMED) { + url += ui.item.c + ".html" + "#"; + } else { + url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.c + ".html" + "#"; + } + if (ui.item.u) { + url += ui.item.u; + } else { + url += ui.item.l; + } + } else if (ui.item.category === catSearchTags) { + url += ui.item.u; + } + if (top !== window) { + parent.classFrame.location = pathtoroot + url; + } else { + window.location.href = pathtoroot + url; + } + $("#search-input").focus(); + } + } + }); +}); diff --git a/3.0.5/apidocs/stylesheet.css b/3.0.5/apidocs/stylesheet.css new file mode 100644 index 000000000..4a576bd24 --- /dev/null +++ b/3.0.5/apidocs/stylesheet.css @@ -0,0 +1,869 @@ +/* + * Javadoc style sheet + */ + +@import url('resources/fonts/dejavu.css'); + +/* + * Styles for individual HTML elements. + * + * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular + * HTML element throughout the page. + */ + +body { + background-color:#ffffff; + color:#353833; + font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:14px; + margin:0; + padding:0; + height:100%; + width:100%; +} +iframe { + margin:0; + padding:0; + height:100%; + width:100%; + overflow-y:scroll; + border:none; +} +a:link, a:visited { + text-decoration:none; + color:#4A6782; +} +a[href]:hover, a[href]:focus { + text-decoration:none; + color:#bb7a2a; +} +a[name] { + color:#353833; +} +pre { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; +} +h1 { + font-size:20px; +} +h2 { + font-size:18px; +} +h3 { + font-size:16px; +} +h4 { + font-size:15px; +} +h5 { + font-size:14px; +} +h6 { + font-size:13px; +} +ul { + list-style-type:disc; +} +code, tt { + font-family:'DejaVu Sans Mono', monospace; +} +:not(h1, h2, h3, h4, h5, h6) > code, +:not(h1, h2, h3, h4, h5, h6) > tt { + font-size:14px; + padding-top:4px; + margin-top:8px; + line-height:1.4em; +} +dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; +} +.summary-table dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + vertical-align:top; + padding-top:4px; +} +sup { + font-size:8px; +} +button { + font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size: 14px; +} +/* + * Styles for HTML generated by javadoc. + * + * These are style classes that are used by the standard doclet to generate HTML documentation. + */ + +/* + * Styles for document title and copyright. + */ +.clear { + clear:both; + height:0; + overflow:hidden; +} +.about-language { + float:right; + padding:0 21px 8px 8px; + font-size:11px; + margin-top:-9px; + height:2.9em; +} +.legal-copy { + margin-left:.5em; +} +.tab { + background-color:#0066FF; + color:#ffffff; + padding:8px; + width:5em; + font-weight:bold; +} +/* + * Styles for navigation bar. + */ +@media screen { + .flex-box { + position:fixed; + display:flex; + flex-direction:column; + height: 100%; + width: 100%; + } + .flex-header { + flex: 0 0 auto; + } + .flex-content { + flex: 1 1 auto; + overflow-y: auto; + } +} +.top-nav { + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + min-height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.sub-nav { + background-color:#dee3e9; + float:left; + width:100%; + overflow:hidden; + font-size:12px; +} +.sub-nav div { + clear:left; + float:left; + padding:0 0 5px 6px; + text-transform:uppercase; +} +.sub-nav .nav-list { + padding-top:5px; +} +ul.nav-list { + display:block; + margin:0 25px 0 0; + padding:0; +} +ul.sub-nav-list { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.nav-list li { + list-style:none; + float:left; + padding: 5px 6px; + text-transform:uppercase; +} +.sub-nav .nav-list-search { + float:right; + margin:0 0 0 0; + padding:5px 6px; + clear:none; +} +.nav-list-search label { + position:relative; + right:-16px; +} +ul.sub-nav-list li { + list-style:none; + float:left; + padding-top:10px; +} +.top-nav a:link, .top-nav a:active, .top-nav a:visited { + color:#FFFFFF; + text-decoration:none; + text-transform:uppercase; +} +.top-nav a:hover { + text-decoration:none; + color:#bb7a2a; + text-transform:uppercase; +} +.nav-bar-cell1-rev { + background-color:#F8981D; + color:#253441; + margin: auto 5px; +} +.skip-nav { + position:absolute; + top:auto; + left:-9999px; + overflow:hidden; +} +/* + * Hide navigation links and search box in print layout + */ +@media print { + ul.nav-list, div.sub-nav { + display:none; + } +} +/* + * Styles for page header and footer. + */ +.title { + color:#2c4557; + margin:10px 0; +} +.sub-title { + margin:5px 0 0 0; +} +.header ul { + margin:0 0 15px 0; + padding:0; +} +.header ul li, .footer ul li { + list-style:none; + font-size:13px; +} +/* + * Styles for headings. + */ +body.class-declaration-page .summary h2, +body.class-declaration-page .details h2, +body.class-use-page h2, +body.module-declaration-page .block-list h2 { + font-style: italic; + padding:0; + margin:15px 0; +} +body.class-declaration-page .summary h3, +body.class-declaration-page .details h3, +body.class-declaration-page .summary .inherited-list h2 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +/* + * Styles for page layout containers. + */ +main { + clear:both; + padding:10px 20px; + position:relative; +} +dl.notes > dt { + font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:12px; + font-weight:bold; + margin:10px 0 0 0; + color:#4E4E4E; +} +dl.notes > dd { + margin:5px 10px 10px 0; + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +dl.name-value > dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +dl.name-value > dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* + * Styles for lists. + */ +li.circle { + list-style:circle; +} +ul.horizontal li { + display:inline; + font-size:0.9em; +} +div.inheritance { + margin:0; + padding:0; +} +div.inheritance div.inheritance { + margin-left:2em; +} +ul.block-list, +ul.details-list, +ul.member-list, +ul.summary-list { + margin:10px 0 10px 0; + padding:0; +} +ul.block-list > li, +ul.details-list > li, +ul.member-list > li, +ul.summary-list > li { + list-style:none; + margin-bottom:15px; + line-height:1.4; +} +.summary-table dl, .summary-table dl dt, .summary-table dl dd { + margin-top:0; + margin-bottom:1px; +} +ul.see-list, ul.see-list-long { + padding-left: 0; + list-style: none; +} +ul.see-list li { + display: inline; +} +ul.see-list li:not(:last-child):after, +ul.see-list-long li:not(:last-child):after { + content: ", "; + white-space: pre-wrap; +} +/* + * Styles for tables. + */ +.summary-table, .details-table { + width:100%; + border-spacing:0; + border-left:1px solid #EEE; + border-right:1px solid #EEE; + border-bottom:1px solid #EEE; + padding:0; +} +.caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:#253441; + font-weight:bold; + clear:none; + overflow:hidden; + padding:0; + padding-top:10px; + padding-left:1px; + margin:0; + white-space:pre; +} +.caption a:link, .caption a:visited { + color:#1f389c; +} +.caption a:hover, +.caption a:active { + color:#FFFFFF; +} +.caption span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + padding-bottom:7px; + display:inline-block; + float:left; + background-color:#F8981D; + border: none; + height:16px; +} +div.table-tabs { + padding:10px 0 0 1px; + margin:0; +} +div.table-tabs > button { + border: none; + cursor: pointer; + padding: 5px 12px 7px 12px; + font-weight: bold; + margin-right: 3px; +} +div.table-tabs > button.active-table-tab { + background: #F8981D; + color: #253441; +} +div.table-tabs > button.table-tab { + background: #4D7A97; + color: #FFFFFF; +} +.two-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(15%, auto); +} +.three-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, auto); +} +.four-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(10%, max-content) minmax(10%, max-content) minmax(10%, auto); +} +@media screen and (max-width: 600px) { + .two-column-summary { + display: grid; + grid-template-columns: 1fr; + } +} +@media screen and (max-width: 800px) { + .three-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(25%, auto); + } + .three-column-summary .col-last { + grid-column-end: span 2; + } +} +@media screen and (max-width: 1000px) { + .four-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(15%, auto); + } +} +.summary-table > div, .details-table > div { + text-align:left; + padding: 8px 3px 3px 7px; +} +.col-first, .col-second, .col-last, .col-constructor-name, .col-summary-item-name { + vertical-align:top; + padding-right:0; + padding-top:8px; + padding-bottom:3px; +} +.table-header { + background:#dee3e9; + font-weight: bold; +} +.col-first, .col-first { + font-size:13px; +} +.col-second, .col-second, .col-last, .col-constructor-name, .col-summary-item-name, .col-last { + font-size:13px; +} +.col-first, .col-second, .col-constructor-name { + vertical-align:top; + overflow: auto; +} +.col-last { + white-space:normal; +} +.col-first a:link, .col-first a:visited, +.col-second a:link, .col-second a:visited, +.col-first a:link, .col-first a:visited, +.col-second a:link, .col-second a:visited, +.col-constructor-name a:link, .col-constructor-name a:visited, +.col-summary-item-name a:link, .col-summary-item-name a:visited, +.constant-values-container a:link, .constant-values-container a:visited, +.all-classes-container a:link, .all-classes-container a:visited, +.all-packages-container a:link, .all-packages-container a:visited { + font-weight:bold; +} +.table-sub-heading-color { + background-color:#EEEEFF; +} +.even-row-color, .even-row-color .table-header { + background-color:#FFFFFF; +} +.odd-row-color, .odd-row-color .table-header { + background-color:#EEEEEF; +} +/* + * Styles for contents. + */ +.deprecated-content { + margin:0; + padding:10px 0; +} +div.block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +.col-last div { + padding-top:0; +} +.col-last a { + padding-bottom:3px; +} +.module-signature, +.package-signature, +.type-signature, +.member-signature { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + margin:14px 0; + white-space: pre-wrap; +} +.module-signature, +.package-signature, +.type-signature { + margin-top: 0; +} +.member-signature .type-parameters-long, +.member-signature .parameters, +.member-signature .exceptions { + display: inline-block; + vertical-align: top; + white-space: pre; +} +.member-signature .type-parameters { + white-space: normal; +} +/* + * Styles for formatting effect. + */ +.source-line-no { + color:green; + padding:0 30px 0 0; +} +h1.hidden { + visibility:hidden; + overflow:hidden; + font-size:10px; +} +.block { + display:block; + margin:0 10px 5px 0; + color:#474747; +} +.deprecated-label, .descfrm-type-label, .implementation-label, .member-name-label, .member-name-link, +.module-label-in-package, .module-label-in-type, .override-specify-label, .package-label-in-type, +.package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link, .preview-label { + font-weight:bold; +} +.deprecation-comment, .help-footnote, .preview-comment { + font-style:italic; +} +.deprecation-block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +.preview-block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +div.block div.deprecation-comment { + font-style:normal; +} +/* + * Styles specific to HTML5 elements. + */ +main, nav, header, footer, section { + display:block; +} +/* + * Styles for javadoc search. + */ +.ui-autocomplete-category { + font-weight:bold; + font-size:15px; + padding:7px 0 7px 3px; + background-color:#4D7A97; + color:#FFFFFF; +} +.result-item { + font-size:13px; +} +.ui-autocomplete { + max-height:85%; + max-width:65%; + overflow-y:scroll; + overflow-x:scroll; + white-space:nowrap; + box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); +} +ul.ui-autocomplete { + position:fixed; + z-index:999999; + background-color: #FFFFFF; +} +ul.ui-autocomplete li { + float:left; + clear:both; + width:100%; +} +.result-highlight { + font-weight:bold; +} +.ui-autocomplete .result-item { + font-size: inherit; +} +#search-input { + background-image:url('resources/glass.png'); + background-size:13px; + background-repeat:no-repeat; + background-position:2px 3px; + padding-left:20px; + position:relative; + right:-18px; + width:400px; +} +#reset-button { + background-color: rgb(255,255,255); + background-image:url('resources/x.png'); + background-position:center; + background-repeat:no-repeat; + background-size:12px; + border:0 none; + width:16px; + height:16px; + position:relative; + left:-4px; + top:-4px; + font-size:0px; +} +.watermark { + color:#545454; +} +.search-tag-desc-result { + font-style:italic; + font-size:11px; +} +.search-tag-holder-result { + font-style:italic; + font-size:12px; +} +.search-tag-result:target { + background-color:yellow; +} +.module-graph span { + display:none; + position:absolute; +} +.module-graph:hover span { + display:block; + margin: -100px 0 0 100px; + z-index: 1; +} +.inherited-list { + margin: 10px 0 10px 0; +} +section.class-description { + line-height: 1.4; +} +.summary section[class$="-summary"], .details section[class$="-details"], +.class-uses .detail, .serialized-class-details { + padding: 0px 20px 5px 10px; + border: 1px solid #ededed; + background-color: #f8f8f8; +} +.inherited-list, section[class$="-details"] .detail { + padding:0 0 5px 8px; + background-color:#ffffff; + border:none; +} +.vertical-separator { + padding: 0 5px; +} +ul.help-section-list { + margin: 0; +} +ul.help-subtoc > li { + display: inline-block; + padding-right: 5px; + font-size: smaller; +} +ul.help-subtoc > li::before { + content: "\2022" ; + padding-right:2px; +} +span.help-note { + font-style: italic; +} +/* + * Indicator icon for external links. + */ +main a[href*="://"]::after { + content:""; + display:inline-block; + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); + background-size:100% 100%; + width:7px; + height:7px; + margin-left:2px; + margin-bottom:4px; +} +main a[href*="://"]:hover::after, +main a[href*="://"]:focus::after { + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); +} + +/* + * Styles for user-provided tables. + * + * borderless: + * No borders, vertical margins, styled caption. + * This style is provided for use with existing doc comments. + * In general, borderless tables should not be used for layout purposes. + * + * plain: + * Plain borders around table and cells, vertical margins, styled caption. + * Best for small tables or for complex tables for tables with cells that span + * rows and columns, when the "striped" style does not work well. + * + * striped: + * Borders around the table and vertical borders between cells, striped rows, + * vertical margins, styled caption. + * Best for tables that have a header row, and a body containing a series of simple rows. + */ + +table.borderless, +table.plain, +table.striped { + margin-top: 10px; + margin-bottom: 10px; +} +table.borderless > caption, +table.plain > caption, +table.striped > caption { + font-weight: bold; + font-size: smaller; +} +table.borderless th, table.borderless td, +table.plain th, table.plain td, +table.striped th, table.striped td { + padding: 2px 5px; +} +table.borderless, +table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th, +table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td { + border: none; +} +table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr { + background-color: transparent; +} +table.plain { + border-collapse: collapse; + border: 1px solid black; +} +table.plain > thead > tr, table.plain > tbody tr, table.plain > tr { + background-color: transparent; +} +table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th, +table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td { + border: 1px solid black; +} +table.striped { + border-collapse: collapse; + border: 1px solid black; +} +table.striped > thead { + background-color: #E3E3E3; +} +table.striped > thead > tr > th, table.striped > thead > tr > td { + border: 1px solid black; +} +table.striped > tbody > tr:nth-child(even) { + background-color: #EEE +} +table.striped > tbody > tr:nth-child(odd) { + background-color: #FFF +} +table.striped > tbody > tr > th, table.striped > tbody > tr > td { + border-left: 1px solid black; + border-right: 1px solid black; +} +table.striped > tbody > tr > th { + font-weight: normal; +} +/** + * Tweak font sizes and paddings for small screens. + */ +@media screen and (max-width: 1050px) { + #search-input { + width: 300px; + } +} +@media screen and (max-width: 800px) { + #search-input { + width: 200px; + } + .top-nav, + .bottom-nav { + font-size: 11px; + padding-top: 6px; + } + .sub-nav { + font-size: 11px; + } + .about-language { + padding-right: 16px; + } + ul.nav-list li, + .sub-nav .nav-list-search { + padding: 6px; + } + ul.sub-nav-list li { + padding-top: 5px; + } + main { + padding: 10px; + } + .summary section[class$="-summary"], .details section[class$="-details"], + .class-uses .detail, .serialized-class-details { + padding: 0 8px 5px 8px; + } + body { + -webkit-text-size-adjust: none; + } +} +@media screen and (max-width: 500px) { + #search-input { + width: 150px; + } + .top-nav, + .bottom-nav { + font-size: 10px; + } + .sub-nav { + font-size: 10px; + } + .about-language { + font-size: 10px; + padding-right: 12px; + } +} diff --git a/3.0.5/apidocs/tag-search-index.js b/3.0.5/apidocs/tag-search-index.js new file mode 100644 index 000000000..0367dae65 --- /dev/null +++ b/3.0.5/apidocs/tag-search-index.js @@ -0,0 +1 @@ +tagSearchIndex = [];updateSearchResults(); \ No newline at end of file diff --git a/3.0.5/apidocs/type-search-index.js b/3.0.5/apidocs/type-search-index.js new file mode 100644 index 000000000..3ae8714b5 --- /dev/null +++ b/3.0.5/apidocs/type-search-index.js @@ -0,0 +1 @@ +typeSearchIndex = [{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"com.okta.spring.boot.oauth.http","l":"Auth0ClientRequestInterceptor"},{"p":"com.okta.spring.boot.oauth","l":"AuthoritiesProvider"},{"p":"com.okta.spring.tests.common.servlet.jwt","l":"BasicJwtResourceServerApplication"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","l":"BasicOpaqueTokenResourceServerApplication"},{"p":"com.okta.spring.tests.common.servlet.code","l":"BasicRedirectCodeFlowApplication"},{"p":"com.okta.spring.boot.sdk.config","l":"OktaClientProperties.ClientProxyInfo"},{"p":"com.okta.example.cloud.configserver","l":"ConfigServerApplication"},{"p":"com.okta.spring.example","l":"HostedLoginCodeFlowExampleApplication"},{"p":"com.okta.spring.example","l":"ImplicitFlowApplication"},{"p":"com.okta.spring.example.controllers","l":"LoginController"},{"p":"com.okta.spring.tests.common.servlet.jwt","l":"BasicJwtResourceServerApplication.MessageOfTheDayController"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","l":"BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController"},{"p":"com.okta.spring.tests.common.reactive.implicit","l":"ReactiveImplicitFlowApplication.MessageOfTheDayController"},{"p":"com.okta.spring.boot.oauth.env","l":"OIDCMetadata"},{"p":"com.okta.spring.boot.oauth","l":"Okta"},{"p":"com.okta.spring.boot.sdk.config","l":"OktaClientProperties"},{"p":"com.okta.spring.boot.oauth.env","l":"OktaEnvironmentPostProcessorApplicationListener"},{"p":"com.okta.spring.boot.oauth.config","l":"OktaOAuth2Properties"},{"p":"com.okta.spring.boot.sdk","l":"OktaSdkConfig"},{"p":"com.okta.spring.boot.oauth.config","l":"OktaOAuth2Properties.Proxy"},{"p":"com.okta.spring.example.webflux","l":"ReactiveApplication"},{"p":"com.okta.spring.tests.common.reactive.implicit","l":"ReactiveImplicitFlowApplication"},{"p":"com.okta.spring.tests.common.reactive.code","l":"ReactiveRedirectCodeFlowApplication"},{"p":"com.okta.spring.example","l":"RedirectCodeFlowApplication"},{"p":"com.okta.spring.example.controllers","l":"SignInWidgetConfigController"},{"p":"com.okta.spring.boot.sdk.cache","l":"SpringCache"},{"p":"com.okta.spring.boot.sdk.cache","l":"SpringCacheManager"},{"p":"com.okta.spring.boot.oauth.http","l":"UserAgentRequestInterceptor"},{"p":"com.okta.spring.example.controllers","l":"WelcomeController.Welcome"},{"p":"com.okta.spring.example.controllers","l":"WelcomeController"},{"p":"com.okta.spring.example.controllers","l":"SignInWidgetConfigController.WidgetConfig"}];updateSearchResults(); \ No newline at end of file diff --git a/3.0.5/xref/allclasses-frame.html b/3.0.5/xref/allclasses-frame.html new file mode 100644 index 000000000..8c24f5b7a --- /dev/null +++ b/3.0.5/xref/allclasses-frame.html @@ -0,0 +1,82 @@ + + + + + + + All Classes + + + +

    All Classes

    +
    + +
    + + diff --git a/3.0.5/xref/com/okta/example/cloud/configserver/ConfigServerApplication.html b/3.0.5/xref/com/okta/example/cloud/configserver/ConfigServerApplication.html new file mode 100644 index 000000000..9342e7db1 --- /dev/null +++ b/3.0.5/xref/com/okta/example/cloud/configserver/ConfigServerApplication.html @@ -0,0 +1,42 @@ + + + +ConfigServerApplication xref + + + +
    +1   /*
    +2    * Copyright 2018-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.example.cloud.configserver;
    +17  
    +18  import org.springframework.boot.SpringApplication;
    +19  import org.springframework.boot.autoconfigure.SpringBootApplication;
    +20  import org.springframework.cloud.config.server.EnableConfigServer;
    +21  
    +22  @EnableConfigServer
    +23  @SpringBootApplication
    +24  public class ConfigServerApplication {
    +25  
    +26      public static void main(String[] args) {
    +27          SpringApplication.run(ConfigServerApplication.class, args);
    +28      }
    +29  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/example/cloud/configserver/package-frame.html b/3.0.5/xref/com/okta/example/cloud/configserver/package-frame.html new file mode 100644 index 000000000..7e606ff4b --- /dev/null +++ b/3.0.5/xref/com/okta/example/cloud/configserver/package-frame.html @@ -0,0 +1,21 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.example.cloud.configserver + + + +

    com.okta.example.cloud.configserver

    +
    +

    Classes

    + +
    + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/example/cloud/configserver/package-summary.html b/3.0.5/xref/com/okta/example/cloud/configserver/package-summary.html new file mode 100644 index 000000000..247491bcd --- /dev/null +++ b/3.0.5/xref/com/okta/example/cloud/configserver/package-summary.html @@ -0,0 +1,107 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.example.cloud.configserver + + + + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + +
    +

    Package com.okta.example.cloud.configserver

    +
    +
    + +
    + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/AuthoritiesProvider.html b/3.0.5/xref/com/okta/spring/boot/oauth/AuthoritiesProvider.html new file mode 100644 index 000000000..8cc7cd301 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/AuthoritiesProvider.html @@ -0,0 +1,62 @@ + + + +AuthoritiesProvider xref + + + +
    +1   /*
    +2    * Copyright 2019-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.oauth;
    +17  
    +18  import org.springframework.security.core.GrantedAuthority;
    +19  import org.springframework.security.oauth2.client.oidc.userinfo.OidcUserRequest;
    +20  import org.springframework.security.oauth2.client.userinfo.OAuth2UserRequest;
    +21  import org.springframework.security.oauth2.core.oidc.user.OidcUser;
    +22  import org.springframework.security.oauth2.core.user.OAuth2User;
    +23  
    +24  import java.util.Collection;
    +25  
    +26  /**
    +27   * Allows for custom {@link GrantedAuthority}s to be added to the current OAuth Principal. Multiple implementations
    +28   * are allowed, by default OAuth scopes are converted to Authorities with the format {@code SCOPE_<scope-name>} and
    +29   * if a `groups` claim exists in the access or id token, those are converted as well.
    +30   *
    +31   * Example usage:
    +32   *
    +33   * <pre><code>
    +34   *     &#64;Bean
    +35   *     AuthoritiesProvider myCustomAuthoritiesProvider() {
    +36   *         return (user, userRequest) -&gt; lookupExtraAuthoritesByName(user.getAttributes().get("email"));
    +37   *     }
    +38   * </code></pre>
    +39   *
    +40   * @since 1.4.0
    +41   */
    +42  public interface AuthoritiesProvider {
    +43  
    +44      Collection<? extends GrantedAuthority> getAuthorities(OAuth2User user, OAuth2UserRequest userRequest);
    +45  
    +46      default Collection<? extends GrantedAuthority> getAuthorities(OidcUser user, OidcUserRequest userRequest) {
    +47          return getAuthorities((OAuth2User) user, userRequest);
    +48      }
    +49  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/AuthorityProvidersConfig.html b/3.0.5/xref/com/okta/spring/boot/oauth/AuthorityProvidersConfig.html new file mode 100644 index 000000000..bbed9dff5 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/AuthorityProvidersConfig.html @@ -0,0 +1,50 @@ + + + +AuthorityProvidersConfig xref + + + +
    +1   /*
    +2    * Copyright 2019-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.oauth;
    +17  
    +18  import com.okta.spring.boot.oauth.config.OktaOAuth2Properties;
    +19  import org.springframework.context.annotation.Bean;
    +20  import org.springframework.context.annotation.Configuration;
    +21  
    +22  /**
    +23   * @since 1.4.0
    +24   */
    +25  @Configuration
    +26  class AuthorityProvidersConfig {
    +27  
    +28      @Bean
    +29      AuthoritiesProvider tokenScopesAuthoritiesProvider() {
    +30          return (user, userRequest) -> TokenUtil.tokenScopesToAuthorities(userRequest.getAccessToken());
    +31      }
    +32  
    +33      @Bean
    +34      AuthoritiesProvider groupClaimsAuthoritiesProvider(OktaOAuth2Properties oktaOAuth2Properties) {
    +35          return (user, userRequest) -> TokenUtil.tokenClaimsToAuthorities(user.getAttributes(), oktaOAuth2Properties.getGroupsClaim());
    +36      }
    +37  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/BrowserFriendlyBearerTokenServerAuthenticationEntryPoint.html b/3.0.5/xref/com/okta/spring/boot/oauth/BrowserFriendlyBearerTokenServerAuthenticationEntryPoint.html new file mode 100644 index 000000000..c962d6989 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/BrowserFriendlyBearerTokenServerAuthenticationEntryPoint.html @@ -0,0 +1,139 @@ + + + +BrowserFriendlyBearerTokenServerAuthenticationEntryPoint xref + + + +
    +1   /*
    +2    * Copyright 2002-2018 the original author or authors.
    +3    * Modifications Copyright 2019 Okta, Inc.
    +4    *
    +5    * Licensed under the Apache License, Version 2.0 (the "License");
    +6    * you may not use this file except in compliance with the License.
    +7    * You may obtain a copy of the License at
    +8    *
    +9    *      http://www.apache.org/licenses/LICENSE-2.0
    +10   *
    +11   * Unless required by applicable law or agreed to in writing, software
    +12   * distributed under the License is distributed on an "AS IS" BASIS,
    +13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +14   * See the License for the specific language governing permissions and
    +15   * limitations under the License.
    +16   */
    +17  
    +18  package com.okta.spring.boot.oauth;
    +19  
    +20  import org.springframework.core.io.buffer.DataBuffer;
    +21  import org.springframework.http.HttpHeaders;
    +22  import org.springframework.http.HttpStatus;
    +23  import org.springframework.http.MediaType;
    +24  import org.springframework.http.server.reactive.ServerHttpResponse;
    +25  import org.springframework.security.core.AuthenticationException;
    +26  import org.springframework.security.oauth2.core.OAuth2AuthenticationException;
    +27  import org.springframework.security.oauth2.core.OAuth2Error;
    +28  import org.springframework.security.oauth2.server.resource.BearerTokenError;
    +29  import org.springframework.security.oauth2.server.resource.web.BearerTokenAuthenticationFilter;
    +30  import org.springframework.security.web.AuthenticationEntryPoint;
    +31  import org.springframework.security.web.server.ServerAuthenticationEntryPoint;
    +32  import org.springframework.util.StringUtils;
    +33  import org.springframework.web.server.ServerWebExchange;
    +34  import reactor.core.publisher.Mono;
    +35  
    +36  import java.nio.charset.StandardCharsets;
    +37  import java.util.LinkedHashMap;
    +38  import java.util.Map;
    +39  import java.util.stream.Collectors;
    +40  
    +41  import static com.okta.spring.boot.oauth.Okta.statusAsString;
    +42  
    +43  /**
    +44   * An {@link AuthenticationEntryPoint} implementation used to commence authentication of protected resource requests
    +45   * using {@link BearerTokenAuthenticationFilter}.
    +46   * <p>
    +47   * Uses information provided by {@link BearerTokenError} to set HTTP response status code and populate
    +48   * {@code WWW-Authenticate} HTTP header.
    +49   *
    +50   * @author Rob Winch
    +51   * @since 1.2.0
    +52   * @see BearerTokenError
    +53   * @see <a href="https://tools.ietf.org/html/rfc6750#section-3" target="_blank">RFC 6750 Section 3: The WWW-Authenticate
    +54   * Response Header Field</a>
    +55   */
    +56  final class BrowserFriendlyBearerTokenServerAuthenticationEntryPoint implements
    +57          ServerAuthenticationEntryPoint {
    +58  
    +59      private String realmName;
    +60  
    +61      public void setRealmName(String realmName) {
    +62          this.realmName = realmName;
    +63      }
    +64  
    +65      @Override
    +66      public Mono<Void> commence(ServerWebExchange exchange, AuthenticationException authException) {
    +67          return Mono.defer(() -> {
    +68              HttpStatus status = getStatus(authException);
    +69  
    +70              Map<String, String> parameters = createParameters(authException);
    +71              String wwwAuthenticate = computeWWWAuthenticateHeaderValue(parameters);
    +72              ServerHttpResponse response = exchange.getResponse();
    +73              response.getHeaders().set(HttpHeaders.WWW_AUTHENTICATE, wwwAuthenticate);
    +74              response.setStatusCode(status);
    +75  
    +76              response.getHeaders().setContentType(MediaType.TEXT_PLAIN);
    +77              DataBuffer buffer = response.bufferFactory().wrap(statusAsString(status).getBytes(StandardCharsets.UTF_8));
    +78              return response.writeWith(Mono.just(buffer));
    +79          });
    +80      }
    +81  
    +82      private Map<String, String> createParameters(AuthenticationException authException) {
    +83          Map<String, String> parameters = new LinkedHashMap<>();
    +84          if (this.realmName != null) {
    +85              parameters.put("realm", this.realmName);
    +86          }
    +87  
    +88          if (authException instanceof OAuth2AuthenticationException) {
    +89              OAuth2Error error = ((OAuth2AuthenticationException) authException).getError();
    +90  
    +91              parameters.put("error", error.getErrorCode());
    +92  
    +93              if (StringUtils.hasText(error.getDescription())) {
    +94                  parameters.put("error_description", error.getDescription());
    +95              }
    +96  
    +97              if (StringUtils.hasText(error.getUri())) {
    +98                  parameters.put("error_uri", error.getUri());
    +99              }
    +100 
    +101             if (error instanceof BearerTokenError) {
    +102                 BearerTokenError bearerTokenError = (BearerTokenError) error;
    +103 
    +104                 if (StringUtils.hasText(bearerTokenError.getScope())) {
    +105                     parameters.put("scope", bearerTokenError.getScope());
    +106                 }
    +107             }
    +108         }
    +109         return parameters;
    +110     }
    +111 
    +112     private HttpStatus getStatus(AuthenticationException authException) {
    +113         return Okta.getStatus(authException);
    +114     }
    +115 
    +116     private static String computeWWWAuthenticateHeaderValue(Map<String, String> parameters) {
    +117         String wwwAuthenticate = "Bearer";
    +118         if (!parameters.isEmpty()) {
    +119             wwwAuthenticate += parameters.entrySet().stream()
    +120                     .map(attribute -> attribute.getKey() + "=\"" + attribute.getValue() + "\"")
    +121                     .collect(Collectors.joining(", ", " ", ""));
    +122         }
    +123 
    +124         return wwwAuthenticate;
    +125     }
    +126 }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/ConditionalOnOktaClientProperties.html b/3.0.5/xref/com/okta/spring/boot/oauth/ConditionalOnOktaClientProperties.html new file mode 100644 index 000000000..80ccc4f03 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/ConditionalOnOktaClientProperties.html @@ -0,0 +1,40 @@ + + + +ConditionalOnOktaClientProperties xref + + + +
    +1   /*
    +2    * Copyright 2018-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.oauth;
    +17  
    +18  import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
    +19  import java.lang.annotation.ElementType;
    +20  import java.lang.annotation.Retention;
    +21  import java.lang.annotation.RetentionPolicy;
    +22  import java.lang.annotation.Target;
    +23  
    +24  @Retention(RetentionPolicy.RUNTIME)
    +25  @Target({ ElementType.TYPE, ElementType.METHOD })
    +26  @ConditionalOnProperty(name = {"spring.security.oauth2.client.registration.okta.client-id"})
    +27  @interface ConditionalOnOktaClientProperties {}
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/ConditionalOnOktaResourceServerProperties.html b/3.0.5/xref/com/okta/spring/boot/oauth/ConditionalOnOktaResourceServerProperties.html new file mode 100644 index 000000000..69e959ff8 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/ConditionalOnOktaResourceServerProperties.html @@ -0,0 +1,41 @@ + + + +ConditionalOnOktaResourceServerProperties xref + + + +
    +1   /*
    +2    * Copyright 2018-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.oauth;
    +17  
    +18  import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
    +19  
    +20  import java.lang.annotation.ElementType;
    +21  import java.lang.annotation.Retention;
    +22  import java.lang.annotation.RetentionPolicy;
    +23  import java.lang.annotation.Target;
    +24  
    +25  @Retention(RetentionPolicy.RUNTIME)
    +26  @Target({ ElementType.TYPE, ElementType.METHOD })
    +27  @ConditionalOnProperty(name = "spring.security.oauth2.resourceserver.jwt.jwk-set-uri")
    +28  @interface ConditionalOnOktaResourceServerProperties {}
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/Okta.html b/3.0.5/xref/com/okta/spring/boot/oauth/Okta.html new file mode 100644 index 000000000..978d6bd91 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/Okta.html @@ -0,0 +1,167 @@ + + + +Okta xref + + + +
    +1   /*
    +2    * Copyright 2018-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.oauth;
    +17  
    +18  import org.springframework.http.HttpStatus;
    +19  import org.springframework.http.MediaType;
    +20  import org.springframework.security.config.annotation.web.builders.HttpSecurity;
    +21  import org.springframework.security.config.web.server.ServerHttpSecurity;
    +22  import org.springframework.security.core.AuthenticationException;
    +23  import org.springframework.security.oauth2.client.registration.ClientRegistrationRepository;
    +24  import org.springframework.security.oauth2.client.registration.ReactiveClientRegistrationRepository;
    +25  import org.springframework.security.oauth2.client.web.DefaultOAuth2AuthorizationRequestResolver;
    +26  import org.springframework.security.oauth2.client.web.server.DefaultServerOAuth2AuthorizationRequestResolver;
    +27  import org.springframework.security.oauth2.core.OAuth2AuthenticationException;
    +28  import org.springframework.security.oauth2.core.OAuth2Error;
    +29  import org.springframework.security.oauth2.server.resource.BearerTokenError;
    +30  import org.springframework.security.oauth2.server.resource.web.BearerTokenAuthenticationEntryPoint;
    +31  import org.springframework.security.oauth2.server.resource.web.server.BearerTokenServerAuthenticationEntryPoint;
    +32  import org.springframework.security.web.AuthenticationEntryPoint;
    +33  import org.springframework.security.web.server.DelegatingServerAuthenticationEntryPoint;
    +34  import org.springframework.security.web.server.util.matcher.MediaTypeServerWebExchangeMatcher;
    +35  import org.springframework.security.web.util.matcher.MediaTypeRequestMatcher;
    +36  import org.springframework.security.web.util.matcher.RequestMatcher;
    +37  import org.springframework.web.accept.HeaderContentNegotiationStrategy;
    +38  
    +39  import static org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestCustomizers.withPkce;
    +40  
    +41  /**
    +42   * Okta + Spring Security utility methods.
    +43   * @since 1.2.0
    +44   */
    +45  public final class Okta {
    +46  
    +47      private Okta() {}
    +48  
    +49      /**
    +50       * Configures the {@code http} to return a NON-EMPTY response body if the client supports the Media Type text/plain.
    +51       * This is to work around an issue with Chrome, when a response body is empty, Chrome will show a `This site can’t be reached`, ERR_INVALID_RESPONSE error.
    +52       * The body content will contain the HTTP Status and simple message such as `401 Unauthorized`.
    +53       *
    +54       * @param http the ServerHttpSecurity to configure
    +55       * @return the {@code http} to allow method chaining
    +56       */
    +57      public static ServerHttpSecurity configureResourceServer401ResponseBody(ServerHttpSecurity http) {
    +58          return http.exceptionHandling()
    +59                  .authenticationEntryPoint(new DelegatingServerAuthenticationEntryPoint(
    +60                                                  // clients that accept plain text, browsers, curl, etc
    +61                                                  new DelegatingServerAuthenticationEntryPoint.DelegateEntry(
    +62                                                          new MediaTypeServerWebExchangeMatcher(MediaType.TEXT_PLAIN),
    +63                                                          new BrowserFriendlyBearerTokenServerAuthenticationEntryPoint()),
    +64  
    +65                                                  // any non text client application/json etc
    +66                                                  new DelegatingServerAuthenticationEntryPoint.DelegateEntry(
    +67                                                          new MediaTypeServerWebExchangeMatcher(MediaType.ALL),
    +68                                                          new BearerTokenServerAuthenticationEntryPoint()))).and();
    +69      }
    +70  
    +71      /**
    +72       * Configures the {@code http} to return a NON-EMPTY response body if the client supports the Media Type text/plain.
    +73       * This is to work around an issue with Chrome, when a response body is empty, Chrome will show a `This site can’t be reached`, ERR_INVALID_RESPONSE error.
    +74       * The body content will contain the HTTP Status and simple message such as `401 Unauthorized`.
    +75       *
    +76       * @param http the HttpSecurity to configure
    +77       * @return the {@code http} to allow method chaining
    +78       */
    +79      public static HttpSecurity configureResourceServer401ResponseBody(HttpSecurity http) throws Exception {
    +80          return http.exceptionHandling()
    +81                      .defaultAuthenticationEntryPointFor(authenticationEntryPoint(), textRequestMatcher()).and();
    +82      }
    +83  
    +84      /**
    +85       * Configures the {@code http} with an OAuth2 Login, that supports PKCE. The default Spring Security implementation
    +86       * only enables PKCE for public clients.
    +87       * <p>
    +88       * <b>NOTE:</b> Enabling PKCE will be required for all clients (public and confidential) in the future OAuth 2.1 spec.
    +89       *
    +90       * @param http the ServerHttpSecurity to configure
    +91       * @param clientRegistrationRepository the repository bean, this should be injected into the calling method.
    +92       * @return the {@code http} to allow method chaining
    +93       */
    +94      public static ServerHttpSecurity configureOAuth2WithPkce(ServerHttpSecurity http, ReactiveClientRegistrationRepository clientRegistrationRepository) {
    +95          // Create a request resolver that enables PKCE
    +96          DefaultServerOAuth2AuthorizationRequestResolver authorizationRequestResolver = new DefaultServerOAuth2AuthorizationRequestResolver(clientRegistrationRepository);
    +97          authorizationRequestResolver.setAuthorizationRequestCustomizer(withPkce());
    +98          // enable oauth2 login that uses PKCE
    +99          http.oauth2Login().authorizationRequestResolver(authorizationRequestResolver);
    +100 
    +101         return http;
    +102     }
    +103 
    +104     /**
    +105      * Configures the {@code http} with an OAuth2 Login, that supports PKCE. The default Spring Security implementation
    +106      * only enables PKCE for public clients.
    +107      * <p>
    +108      * <b>NOTE:</b> Enabling PKCE will be required for all clients (public and confidential) in the future OAuth 2.1 spec.
    +109      *
    +110      * @param http the HttpSecurity to configure
    +111      * @param clientRegistrationRepository the repository bean, this should be injected into the calling method.
    +112      * @return the {@code http} to allow method chaining
    +113      * @throws Exception
    +114      */
    +115     public static HttpSecurity configureOAuth2WithPkce(HttpSecurity http, ClientRegistrationRepository clientRegistrationRepository) throws Exception {
    +116         // Create a request resolver that enables PKCE
    +117         DefaultOAuth2AuthorizationRequestResolver authorizationRequestResolver = new DefaultOAuth2AuthorizationRequestResolver(clientRegistrationRepository, "/oauth2/authorization");
    +118         authorizationRequestResolver.setAuthorizationRequestCustomizer(withPkce());
    +119         // enable oauth2 login that uses PKCE
    +120         http.oauth2Login()
    +121             .authorizationEndpoint()
    +122             .authorizationRequestResolver(authorizationRequestResolver);
    +123 
    +124         return http;
    +125     }
    +126 
    +127     private static RequestMatcher textRequestMatcher() {
    +128         return new MediaTypeRequestMatcher(new HeaderContentNegotiationStrategy(), MediaType.TEXT_PLAIN);
    +129     }
    +130 
    +131     private static AuthenticationEntryPoint authenticationEntryPoint() {
    +132         BearerTokenAuthenticationEntryPoint bearerTokenEntryPoint = new BearerTokenAuthenticationEntryPoint();
    +133         return (request, response, authException) -> {
    +134             response.setContentType(MediaType.TEXT_PLAIN.toString());
    +135             response.getWriter().print(statusAsString(Okta.getStatus(authException)));
    +136             bearerTokenEntryPoint.commence(request, response, authException);
    +137         };
    +138     }
    +139 
    +140     static HttpStatus getStatus(AuthenticationException authException) {
    +141         if (authException instanceof OAuth2AuthenticationException) {
    +142             OAuth2Error error = ((OAuth2AuthenticationException) authException).getError();
    +143             if (error instanceof BearerTokenError) {
    +144                 return ((BearerTokenError) error).getHttpStatus();
    +145             }
    +146         }
    +147         return HttpStatus.UNAUTHORIZED;
    +148     }
    +149 
    +150     static String statusAsString(HttpStatus status) {
    +151         return status.value() + " " + status.getReasonPhrase();
    +152     }
    +153 
    +154 }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/OktaJwtAuthenticationConverter.html b/3.0.5/xref/com/okta/spring/boot/oauth/OktaJwtAuthenticationConverter.html new file mode 100644 index 000000000..3b5ed7a78 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/OktaJwtAuthenticationConverter.html @@ -0,0 +1,47 @@ + + + +OktaJwtAuthenticationConverter xref + + + +
    +1   /*
    +2    * Copyright 2018-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.oauth;
    +17  
    +18  import org.springframework.security.core.GrantedAuthority;
    +19  import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationConverter;
    +20  import org.springframework.security.oauth2.server.resource.authentication.JwtGrantedAuthoritiesConverter;
    +21  
    +22  import java.util.Collection;
    +23  
    +24  final class OktaJwtAuthenticationConverter extends JwtAuthenticationConverter {
    +25  
    +26      public OktaJwtAuthenticationConverter(String groupClaim) {
    +27          JwtGrantedAuthoritiesConverter originalConverter = new JwtGrantedAuthoritiesConverter();
    +28          this.setJwtGrantedAuthoritiesConverter(source -> {
    +29              Collection<GrantedAuthority> result = originalConverter.convert(source);
    +30              result.addAll(TokenUtil.tokenClaimsToAuthorities(source.getClaims(), groupClaim));
    +31              return result;
    +32          });
    +33      }
    +34  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/OktaOAuth2AutoConfig.html b/3.0.5/xref/com/okta/spring/boot/oauth/OktaOAuth2AutoConfig.html new file mode 100644 index 000000000..b09c68596 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/OktaOAuth2AutoConfig.html @@ -0,0 +1,105 @@ + + + +OktaOAuth2AutoConfig xref + + + +
    +1   /*
    +2    * Copyright 2018-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.oauth;
    +17  
    +18  import com.okta.spring.boot.oauth.config.OktaOAuth2Properties;
    +19  import org.springframework.beans.factory.annotation.Qualifier;
    +20  import org.springframework.boot.autoconfigure.AutoConfiguration;
    +21  import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
    +22  import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
    +23  import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
    +24  import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
    +25  import org.springframework.boot.autoconfigure.security.ConditionalOnDefaultWebSecurity;
    +26  import org.springframework.boot.context.properties.EnableConfigurationProperties;
    +27  import org.springframework.context.annotation.Bean;
    +28  import org.springframework.context.annotation.Configuration;
    +29  import org.springframework.context.annotation.Import;
    +30  import org.springframework.security.config.annotation.web.builders.HttpSecurity;
    +31  import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
    +32  import org.springframework.security.config.annotation.web.configurers.oauth2.server.resource.OAuth2ResourceServerConfigurer;
    +33  import org.springframework.security.oauth2.client.oidc.userinfo.OidcUserRequest;
    +34  import org.springframework.security.oauth2.client.oidc.web.logout.OidcClientInitiatedLogoutSuccessHandler;
    +35  import org.springframework.security.oauth2.client.registration.ClientRegistration;
    +36  import org.springframework.security.oauth2.client.registration.ClientRegistrationRepository;
    +37  import org.springframework.security.oauth2.client.userinfo.OAuth2UserRequest;
    +38  import org.springframework.security.oauth2.client.userinfo.OAuth2UserService;
    +39  import org.springframework.security.oauth2.core.oidc.user.OidcUser;
    +40  import org.springframework.security.oauth2.core.user.OAuth2User;
    +41  import org.springframework.security.web.SecurityFilterChain;
    +42  
    +43  import java.util.Collection;
    +44  
    +45  @AutoConfiguration
    +46  @ConditionalOnOktaClientProperties
    +47  @EnableConfigurationProperties(OktaOAuth2Properties.class)
    +48  @ConditionalOnClass({ EnableWebSecurity.class, ClientRegistration.class })
    +49  @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET)
    +50  @Import(AuthorityProvidersConfig.class)
    +51  class OktaOAuth2AutoConfig {
    +52  
    +53      @Bean
    +54      @ConditionalOnProperty(name = "okta.oauth2.post-logout-redirect-uri")
    +55      OidcClientInitiatedLogoutSuccessHandler oidcLogoutSuccessHandler(OktaOAuth2Properties oktaOAuth2Properties,
    +56                                                                       ClientRegistrationRepository clientRegistrationRepository) {
    +57          OidcClientInitiatedLogoutSuccessHandler successHandler = new OidcClientInitiatedLogoutSuccessHandler(clientRegistrationRepository);
    +58          String logoutUri = oktaOAuth2Properties.getPostLogoutRedirectUri();
    +59          successHandler.setPostLogoutRedirectUri((logoutUri.startsWith("/") ? "{baseUrl}" : "") + logoutUri);
    +60          return successHandler;
    +61      }
    +62  
    +63      @Bean
    +64      @ConditionalOnMissingBean(name="oAuth2UserService")
    +65      OAuth2UserService<OAuth2UserRequest, OAuth2User> oAuth2UserService(Collection<AuthoritiesProvider> authoritiesProviders) {
    +66          return new OktaOAuth2UserService(authoritiesProviders);
    +67      }
    +68  
    +69      @Bean
    +70      @ConditionalOnMissingBean(name="oidcUserService")
    +71      OAuth2UserService<OidcUserRequest, OidcUser> oidcUserService(
    +72          @Qualifier("oAuth2UserService") OAuth2UserService<OAuth2UserRequest, OAuth2User> oAuth2UserService,
    +73          Collection<AuthoritiesProvider> authoritiesProviders) {
    +74          return new OktaOidcUserService(oAuth2UserService, authoritiesProviders);
    +75      }
    +76  
    +77      @Configuration
    +78      @ConditionalOnDefaultWebSecurity
    +79      static class OAuth2SecurityFilterChainConfiguration {
    +80  
    +81          @Bean
    +82          SecurityFilterChain oauth2SecurityFilterChain(HttpSecurity http, ClientRegistrationRepository clientRegistrationRepository) throws Exception {
    +83              // as of Spring Security 5.4 the default chain uses oauth2Login OR a JWT resource server (NOT both)
    +84              // this does the same as both defaults merged together (and provides the previous behavior)
    +85              http.authorizeRequests((requests) -> requests.anyRequest().authenticated());
    +86              Okta.configureOAuth2WithPkce(http, clientRegistrationRepository);
    +87              http.oauth2Client();
    +88              http.oauth2ResourceServer(OAuth2ResourceServerConfigurer::jwt);
    +89              return http.build();
    +90          }
    +91      }
    +92  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/OktaOAuth2Configurer.html b/3.0.5/xref/com/okta/spring/boot/oauth/OktaOAuth2Configurer.html new file mode 100644 index 000000000..a1576eb15 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/OktaOAuth2Configurer.html @@ -0,0 +1,221 @@ + + + +OktaOAuth2Configurer xref + + + +
    +1   /*
    +2    * Copyright 2018-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.oauth;
    +17  
    +18  import com.okta.spring.boot.oauth.config.OktaOAuth2Properties;
    +19  import org.slf4j.Logger;
    +20  import org.slf4j.LoggerFactory;
    +21  import org.springframework.boot.autoconfigure.security.oauth2.client.OAuth2ClientProperties;
    +22  import org.springframework.boot.autoconfigure.security.oauth2.resource.OAuth2ResourceServerProperties;
    +23  import org.springframework.context.ApplicationContext;
    +24  import org.springframework.core.env.Environment;
    +25  import org.springframework.security.config.annotation.web.builders.HttpSecurity;
    +26  import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer;
    +27  import org.springframework.security.config.annotation.web.configurers.oauth2.server.resource.OAuth2ResourceServerConfigurer;
    +28  import org.springframework.security.oauth2.client.endpoint.DefaultAuthorizationCodeTokenResponseClient;
    +29  import org.springframework.security.oauth2.client.endpoint.OAuth2AccessTokenResponseClient;
    +30  import org.springframework.security.oauth2.client.endpoint.OAuth2AuthorizationCodeGrantRequest;
    +31  import org.springframework.security.oauth2.client.oidc.web.logout.OidcClientInitiatedLogoutSuccessHandler;
    +32  import org.springframework.web.client.RestTemplate;
    +33  
    +34  import java.lang.reflect.Field;
    +35  import java.security.AccessController;
    +36  import java.security.PrivilegedAction;
    +37  import java.util.Optional;
    +38  
    +39  import static com.okta.commons.lang.Strings.isEmpty;
    +40  
    +41  final class OktaOAuth2Configurer extends AbstractHttpConfigurer<OktaOAuth2Configurer, HttpSecurity> {
    +42  
    +43      private static final Logger log = LoggerFactory.getLogger(OktaOAuth2Configurer.class);
    +44  
    +45      @SuppressWarnings("rawtypes")
    +46      @Override
    +47      public void init(HttpSecurity http) throws Exception {
    +48  
    +49          ApplicationContext context = http.getSharedObject(ApplicationContext.class);
    +50  
    +51          // make sure OktaOAuth2Properties are available
    +52          if (!context.getBeansOfType(OktaOAuth2Properties.class).isEmpty()) {
    +53              OktaOAuth2Properties oktaOAuth2Properties = context.getBean(OktaOAuth2Properties.class);
    +54  
    +55              // Auth Code Flow Config
    +56  
    +57              // if OAuth2ClientProperties bean is not available do NOT configure
    +58              OAuth2ClientProperties.Provider propertiesProvider;
    +59              OAuth2ClientProperties.Registration propertiesRegistration;
    +60              if (!context.getBeansOfType(OAuth2ClientProperties.class).isEmpty()
    +61                  && (propertiesProvider = context.getBean(OAuth2ClientProperties.class).getProvider().get("okta")) != null
    +62                  && (propertiesRegistration = context.getBean(OAuth2ClientProperties.class).getRegistration().get("okta")) != null
    +63                  && !isEmpty(propertiesProvider.getIssuerUri())
    +64                  && !isEmpty(propertiesRegistration.getClientId())) {
    +65                  // configure Okta user services
    +66                  configureLogin(http, oktaOAuth2Properties, context.getEnvironment());
    +67  
    +68                  // check for RP-Initiated logout
    +69                  if (!context.getBeansOfType(OidcClientInitiatedLogoutSuccessHandler.class).isEmpty()) {
    +70                      http.logout().logoutSuccessHandler(context.getBean(OidcClientInitiatedLogoutSuccessHandler.class));
    +71                  }
    +72  
    +73                  // Resource Server Config
    +74                  OAuth2ResourceServerProperties.Opaquetoken propertiesOpaquetoken;
    +75                  if (!context.getBeansOfType(OAuth2ResourceServerProperties.class).isEmpty()
    +76                      && (propertiesOpaquetoken = context.getBean(OAuth2ResourceServerProperties.class).getOpaquetoken()) != null
    +77                      && !isEmpty(propertiesOpaquetoken.getIntrospectionUri())
    +78                      && TokenUtil.isRootOrgIssuer(propertiesProvider.getIssuerUri())) {
    +79                      log.debug("Opaque Token validation/introspection will be configured.");
    +80                      configureResourceServerForOpaqueTokenValidation(http, oktaOAuth2Properties);
    +81                      return;
    +82                  }
    +83                  OAuth2ResourceServerConfigurer oAuth2ResourceServerConfigurer = http.getConfigurer(OAuth2ResourceServerConfigurer.class);
    +84  
    +85                  if (getJwtConfigurer(oAuth2ResourceServerConfigurer).isPresent()) {
    +86                      log.debug("JWT configurer is set in OAuth resource server configuration. " +
    +87                          "JWT validation will be configured.");
    +88                      configureResourceServerForJwtValidation(http, oktaOAuth2Properties);
    +89                  } else if (getOpaqueTokenConfigurer(oAuth2ResourceServerConfigurer).isPresent()) {
    +90                      log.debug("Opaque Token configurer is set in OAuth resource server configuration. " +
    +91                          "Opaque Token validation/introspection will be configured.");
    +92                      configureResourceServerForOpaqueTokenValidation(http, oktaOAuth2Properties);
    +93                  } else {
    +94                      log.debug("OAuth2ResourceServerConfigurer bean not configured, Resource Server support will not be enabled.");
    +95                  }
    +96              } else {
    +97                  log.debug("OAuth/OIDC Login not configured due to missing issuer, client-id, or client-secret property");
    +98              }
    +99          }
    +100     }
    +101 
    +102     private Optional<OAuth2ResourceServerConfigurer<?>.JwtConfigurer> getJwtConfigurer(OAuth2ResourceServerConfigurer<?> oAuth2ResourceServerConfigurer) throws IllegalAccessException {
    +103         if (oAuth2ResourceServerConfigurer != null) {
    +104             return getFieldValue(oAuth2ResourceServerConfigurer, "jwtConfigurer");
    +105         }
    +106         return Optional.empty();
    +107     }
    +108 
    +109     private Optional<OAuth2ResourceServerConfigurer<?>.OpaqueTokenConfigurer> getOpaqueTokenConfigurer(OAuth2ResourceServerConfigurer<?> oAuth2ResourceServerConfigurer) throws IllegalAccessException {
    +110         if (oAuth2ResourceServerConfigurer != null) {
    +111             return getFieldValue(oAuth2ResourceServerConfigurer, "opaqueTokenConfigurer");
    +112         }
    +113         return Optional.empty();
    +114     }
    +115 
    +116     private <T> Optional<T> getFieldValue(Object source, String fieldName) throws IllegalAccessException {
    +117         Field field = AccessController.doPrivileged((PrivilegedAction<Field>) () -> {
    +118             Field result = null;
    +119             try {
    +120                 result = OAuth2ResourceServerConfigurer.class.getDeclaredField(fieldName);
    +121                 result.setAccessible(true);
    +122             } catch (NoSuchFieldException e) {
    +123                 log.warn("Could not get field '" + fieldName + "' of {} via reflection",
    +124                     OAuth2ResourceServerConfigurer.class.getName(), e);
    +125             }
    +126             return result;
    +127         });
    +128 
    +129         if (field == null) {
    +130             String errMsg = "Expected field '" + fieldName + "' was not found in OAuth resource server configuration. " +
    +131                 "Version incompatibility with Spring Security detected." +
    +132                 "Check https://github.com/okta/okta-spring-boot for project updates.";
    +133             throw new RuntimeException(errMsg);
    +134         }
    +135 
    +136         return Optional.ofNullable((T) field.get(source));
    +137     }
    +138 
    +139     /**
    +140      * Method to "unset" Jwt Resource Server Configurer using Reflection API.
    +141      * <p>
    +142      * For Root/Org issuer cases, we automatically configure resource server to use Opaque Token validation mode, but Spring
    +143      * brings in the default Jwt configuration, therefore we are unable to set Opaque Token configuration
    +144      * programmatically (startup fails - Spring only supports Jwt or Opaque is supported, not both simultaneously).
    +145      * To address this, we need this helper method to unset Jwt configurer before attempting to set Opaque Token configuration
    +146      * for Root/Org issuer use case.
    +147      */
    +148     private void unsetJwtConfigurer(OAuth2ResourceServerConfigurer oAuth2ResourceServerConfigurer) {
    +149 
    +150         AccessController.doPrivileged((PrivilegedAction<Field>) () -> {
    +151             Field result = null;
    +152             try {
    +153                 result = OAuth2ResourceServerConfigurer.class.getDeclaredField("jwtConfigurer");
    +154                 result.setAccessible(true);
    +155 
    +156                 result.set(oAuth2ResourceServerConfigurer, null);
    +157             } catch (NoSuchFieldException | IllegalAccessException e) {
    +158                 log.warn("Could not access field '" + "jwtConfigurer" + "' of {} via reflection",
    +159                     OAuth2ResourceServerConfigurer.class.getName(), e);
    +160             }
    +161             return result;
    +162         });
    +163     }
    +164 
    +165     private void configureLogin(HttpSecurity http, OktaOAuth2Properties oktaOAuth2Properties, Environment environment) throws Exception {
    +166 
    +167         RestTemplate restTemplate = OktaOAuth2ResourceServerAutoConfig.restTemplate(oktaOAuth2Properties);
    +168 
    +169         http.oauth2Login()
    +170             .tokenEndpoint()
    +171             .accessTokenResponseClient(accessTokenResponseClient(restTemplate));
    +172 
    +173         String redirectUriProperty = environment.getProperty("spring.security.oauth2.client.registration.okta.redirect-uri");
    +174         if (redirectUriProperty != null) {
    +175             //  remove `{baseUrl}` pattern, if present, as Spring will solve this on its own
    +176             String redirectUri = redirectUriProperty.replace("{baseUrl}", "");
    +177             http.oauth2Login().redirectionEndpoint().baseUri(redirectUri);
    +178         }
    +179     }
    +180 
    +181     private void configureResourceServerForJwtValidation(HttpSecurity http, OktaOAuth2Properties oktaOAuth2Properties) throws Exception {
    +182         http.oauth2ResourceServer()
    +183             .jwt().jwtAuthenticationConverter(new OktaJwtAuthenticationConverter(oktaOAuth2Properties.getGroupsClaim()));
    +184     }
    +185 
    +186     private void configureResourceServerForOpaqueTokenValidation(HttpSecurity http, OktaOAuth2Properties oktaOAuth2Properties) throws Exception {
    +187 
    +188         if (!isEmpty(oktaOAuth2Properties.getClientId()) && !isEmpty(oktaOAuth2Properties.getClientSecret())) {
    +189             // Spring (2.7.x+) configures JWT be default and this creates startup failure "Spring Security
    +190             // only supports JWTs or Opaque Tokens, not both at the same time" when we try to configure Opaque Token mode in following line.
    +191             // Therefore, we are unsetting JWT mode before attempting to configure Opaque Token mode for ROOT issuer case.
    +192 
    +193             if (http.getConfigurer(OAuth2ResourceServerConfigurer.class) != null) {
    +194                 unsetJwtConfigurer(http.getConfigurer(OAuth2ResourceServerConfigurer.class));
    +195             }
    +196 
    +197             http.oauth2ResourceServer().opaqueToken();
    +198         }
    +199     }
    +200 
    +201     private OAuth2AccessTokenResponseClient<OAuth2AuthorizationCodeGrantRequest> accessTokenResponseClient(RestTemplate restTemplate) {
    +202 
    +203         DefaultAuthorizationCodeTokenResponseClient accessTokenResponseClient = new DefaultAuthorizationCodeTokenResponseClient();
    +204         accessTokenResponseClient.setRestOperations(restTemplate);
    +205 
    +206         return accessTokenResponseClient;
    +207     }
    +208 }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/OktaOAuth2ResourceServerAutoConfig.html b/3.0.5/xref/com/okta/spring/boot/oauth/OktaOAuth2ResourceServerAutoConfig.html new file mode 100644 index 000000000..46cfd2133 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/OktaOAuth2ResourceServerAutoConfig.html @@ -0,0 +1,150 @@ + + + +OktaOAuth2ResourceServerAutoConfig xref + + + +
    +1   /*
    +2    * Copyright 2018-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.oauth;
    +17  
    +18  import com.okta.commons.lang.Strings;
    +19  import com.okta.spring.boot.oauth.config.OktaOAuth2Properties;
    +20  import com.okta.spring.boot.oauth.http.Auth0ClientRequestInterceptor;
    +21  import com.okta.spring.boot.oauth.http.UserAgentRequestInterceptor;
    +22  import org.springframework.boot.autoconfigure.AutoConfiguration;
    +23  import org.springframework.boot.autoconfigure.AutoConfigureBefore;
    +24  import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
    +25  import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
    +26  import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
    +27  import org.springframework.boot.autoconfigure.security.oauth2.resource.OAuth2ResourceServerProperties;
    +28  import org.springframework.boot.autoconfigure.security.oauth2.resource.servlet.OAuth2ResourceServerAutoConfiguration;
    +29  import org.springframework.boot.context.properties.EnableConfigurationProperties;
    +30  import org.springframework.context.annotation.Bean;
    +31  import org.springframework.context.annotation.Conditional;
    +32  import org.springframework.http.client.SimpleClientHttpRequestFactory;
    +33  import org.springframework.http.client.support.BasicAuthenticationInterceptor;
    +34  import org.springframework.http.converter.FormHttpMessageConverter;
    +35  import org.springframework.http.converter.StringHttpMessageConverter;
    +36  import org.springframework.security.core.GrantedAuthority;
    +37  import org.springframework.security.oauth2.core.DefaultOAuth2AuthenticatedPrincipal;
    +38  import org.springframework.security.oauth2.core.OAuth2AuthenticatedPrincipal;
    +39  import org.springframework.security.oauth2.core.http.converter.OAuth2AccessTokenResponseHttpMessageConverter;
    +40  import org.springframework.security.oauth2.jwt.JwtDecoder;
    +41  import org.springframework.security.oauth2.jwt.NimbusJwtDecoder;
    +42  import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationConverter;
    +43  import org.springframework.security.oauth2.server.resource.authentication.JwtAuthenticationToken;
    +44  import org.springframework.security.oauth2.server.resource.introspection.NimbusOpaqueTokenIntrospector;
    +45  import org.springframework.security.oauth2.server.resource.introspection.OpaqueTokenIntrospector;
    +46  import org.springframework.web.client.RestTemplate;
    +47  
    +48  import java.net.InetSocketAddress;
    +49  import java.net.Proxy;
    +50  import java.util.Arrays;
    +51  import java.util.Collection;
    +52  import java.util.Collections;
    +53  import java.util.Optional;
    +54  import java.util.Objects;
    +55  
    +56  @AutoConfiguration
    +57  @AutoConfigureBefore(OAuth2ResourceServerAutoConfiguration.class)
    +58  @ConditionalOnClass(JwtAuthenticationToken.class)
    +59  @ConditionalOnOktaResourceServerProperties
    +60  @EnableConfigurationProperties(OktaOAuth2Properties.class)
    +61  @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET)
    +62  class OktaOAuth2ResourceServerAutoConfig {
    +63  
    +64      @Bean
    +65      public JwtAuthenticationConverter jwtAuthenticationConverter(OktaOAuth2Properties oktaOAuth2Properties) {
    +66          return new OktaJwtAuthenticationConverter(oktaOAuth2Properties.getGroupsClaim());
    +67      }
    +68  
    +69      @Bean
    +70      @ConditionalOnMissingBean
    +71      JwtDecoder jwtDecoder(OAuth2ResourceServerProperties oAuth2ResourceServerProperties,
    +72                            OktaOAuth2Properties oktaOAuth2Properties) {
    +73  
    +74          NimbusJwtDecoder.JwkSetUriJwtDecoderBuilder builder = NimbusJwtDecoder.withJwkSetUri(oAuth2ResourceServerProperties.getJwt().getJwkSetUri());
    +75          builder.restOperations(restTemplate(oktaOAuth2Properties));
    +76          NimbusJwtDecoder decoder = builder.build();
    +77          decoder.setJwtValidator(TokenUtil.jwtValidator(oAuth2ResourceServerProperties.getJwt().getIssuerUri(), oktaOAuth2Properties.getAudience()));
    +78          return decoder;
    +79      }
    +80  
    +81      static RestTemplate restTemplate(OktaOAuth2Properties oktaOAuth2Properties) {
    +82  
    +83          Proxy proxy = null;
    +84  
    +85          OktaOAuth2Properties.Proxy proxyProperties = oktaOAuth2Properties.getProxy();
    +86          Optional<BasicAuthenticationInterceptor> basicAuthenticationInterceptor = Optional.empty();
    +87          if (proxyProperties != null && Strings.hasText(proxyProperties.getHost()) && proxyProperties.getPort() > 0) {
    +88              proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyProperties.getHost(), proxyProperties.getPort()));
    +89  
    +90              if (Strings.hasText(proxyProperties.getUsername()) &&
    +91                  Strings.hasText(proxyProperties.getPassword())) {
    +92  
    +93                  basicAuthenticationInterceptor = Optional.of(new BasicAuthenticationInterceptor(proxyProperties.getUsername(),
    +94                      proxyProperties.getPassword()));
    +95              }
    +96          }
    +97  
    +98          RestTemplate restTemplate = new RestTemplate(Arrays.asList(
    +99              new FormHttpMessageConverter(), new OAuth2AccessTokenResponseHttpMessageConverter(), new StringHttpMessageConverter()
    +100         ));
    +101         restTemplate.getInterceptors().add(new UserAgentRequestInterceptor());
    +102         restTemplate.getInterceptors().add(new Auth0ClientRequestInterceptor());
    +103         basicAuthenticationInterceptor.ifPresent(restTemplate.getInterceptors()::add);
    +104         SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
    +105         if (Objects.nonNull(proxy)) {
    +106             requestFactory.setProxy(proxy);
    +107         }
    +108         restTemplate.setRequestFactory(requestFactory);
    +109         return restTemplate;
    +110     }
    +111 
    +112     @Bean
    +113     @Conditional(OktaOpaqueTokenIntrospectConditional.class)
    +114     OpaqueTokenIntrospector opaqueTokenIntrospector(OktaOAuth2Properties oktaOAuth2Properties,
    +115                                                     OAuth2ResourceServerProperties oAuth2ResourceServerProperties) {
    +116 
    +117         RestTemplate restTemplate = restTemplate(oktaOAuth2Properties);
    +118         restTemplate.getInterceptors().add(new BasicAuthenticationInterceptor(
    +119             oAuth2ResourceServerProperties.getOpaquetoken().getClientId(),
    +120             oAuth2ResourceServerProperties.getOpaquetoken().getClientSecret()));
    +121 
    +122         OpaqueTokenIntrospector delegate = new NimbusOpaqueTokenIntrospector(
    +123             oAuth2ResourceServerProperties.getOpaquetoken().getIntrospectionUri(),
    +124             restTemplate);
    +125 
    +126         return token -> {
    +127             OAuth2AuthenticatedPrincipal principal = delegate.introspect(token);
    +128 
    +129             Collection<GrantedAuthority> mappedAuthorities =
    +130                 Collections.unmodifiableCollection(
    +131                     TokenUtil.opaqueTokenClaimsToAuthorities(principal.getAttributes(), oktaOAuth2Properties.getGroupsClaim(), principal.getAuthorities()));
    +132 
    +133             return new DefaultOAuth2AuthenticatedPrincipal(
    +134                 principal.getName(), principal.getAttributes(), mappedAuthorities);
    +135         };
    +136     }
    +137 }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/OktaOAuth2UserService.html b/3.0.5/xref/com/okta/spring/boot/oauth/OktaOAuth2UserService.html new file mode 100644 index 000000000..7af58a0ed --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/OktaOAuth2UserService.html @@ -0,0 +1,64 @@ + + + +OktaOAuth2UserService xref + + + +
    +1   /*
    +2    * Copyright 2018-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.oauth;
    +17  
    +18  import com.okta.spring.boot.oauth.http.Auth0ClientRequestInterceptor;
    +19  import com.okta.spring.boot.oauth.http.UserAgentRequestInterceptor;
    +20  import org.springframework.security.oauth2.client.http.OAuth2ErrorResponseErrorHandler;
    +21  import org.springframework.security.oauth2.client.userinfo.DefaultOAuth2UserService;
    +22  import org.springframework.security.oauth2.client.userinfo.OAuth2UserRequest;
    +23  import org.springframework.security.oauth2.core.user.OAuth2User;
    +24  import org.springframework.web.client.RestOperations;
    +25  import org.springframework.web.client.RestTemplate;
    +26  
    +27  import java.util.Collection;
    +28  
    +29  final class OktaOAuth2UserService extends DefaultOAuth2UserService {
    +30  
    +31      private final Collection<AuthoritiesProvider> authoritiesProviders;
    +32  
    +33      OktaOAuth2UserService(Collection<AuthoritiesProvider> authoritiesProviders) {
    +34          this.authoritiesProviders = authoritiesProviders;
    +35          setRestOperations(restOperations());
    +36      }
    +37  
    +38      private RestOperations restOperations() {
    +39          RestTemplate restTemplate = new RestTemplate();
    +40          restTemplate.setErrorHandler(new OAuth2ErrorResponseErrorHandler());
    +41          restTemplate.getInterceptors().add(new UserAgentRequestInterceptor());
    +42          restTemplate.getInterceptors().add(new Auth0ClientRequestInterceptor());
    +43          return restTemplate;
    +44      }
    +45  
    +46      @Override
    +47      public OAuth2User loadUser(OAuth2UserRequest userRequest) {
    +48          OAuth2User user = super.loadUser(userRequest);
    +49          return UserUtil.decorateUser(user, userRequest, authoritiesProviders);
    +50      }
    +51  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/OktaOidcUserService.html b/3.0.5/xref/com/okta/spring/boot/oauth/OktaOidcUserService.html new file mode 100644 index 000000000..04b7e1391 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/OktaOidcUserService.html @@ -0,0 +1,55 @@ + + + +OktaOidcUserService xref + + + +
    +1   /*
    +2    * Copyright 2018-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.oauth;
    +17  
    +18  import org.springframework.security.oauth2.client.oidc.userinfo.OidcUserRequest;
    +19  import org.springframework.security.oauth2.client.oidc.userinfo.OidcUserService;
    +20  import org.springframework.security.oauth2.client.userinfo.OAuth2UserRequest;
    +21  import org.springframework.security.oauth2.client.userinfo.OAuth2UserService;
    +22  import org.springframework.security.oauth2.core.OAuth2AuthenticationException;
    +23  import org.springframework.security.oauth2.core.oidc.user.OidcUser;
    +24  import org.springframework.security.oauth2.core.user.OAuth2User;
    +25  
    +26  import java.util.Collection;
    +27  
    +28  final class OktaOidcUserService extends OidcUserService {
    +29  
    +30      private final Collection<AuthoritiesProvider> authoritiesProviders;
    +31  
    +32      OktaOidcUserService(OAuth2UserService<OAuth2UserRequest, OAuth2User> oauth2UserService, Collection<AuthoritiesProvider> authoritiesProviders) {
    +33          this.authoritiesProviders = authoritiesProviders;
    +34          this.setOauth2UserService(oauth2UserService);
    +35      }
    +36  
    +37      @Override
    +38      public OidcUser loadUser(OidcUserRequest userRequest) throws OAuth2AuthenticationException {
    +39          OidcUser user = super.loadUser(userRequest);
    +40          return UserUtil.decorateUser(user, userRequest, authoritiesProviders);
    +41      }
    +42  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/OktaOpaqueTokenIntrospectConditional.html b/3.0.5/xref/com/okta/spring/boot/oauth/OktaOpaqueTokenIntrospectConditional.html new file mode 100644 index 000000000..613fc44f3 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/OktaOpaqueTokenIntrospectConditional.html @@ -0,0 +1,48 @@ + + + +OktaOpaqueTokenIntrospectConditional xref + + + +
    +1   /*
    +2    * Copyright 2020-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.oauth;
    +17  
    +18  import org.springframework.boot.autoconfigure.condition.AllNestedConditions;
    +19  import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
    +20  
    +21  class OktaOpaqueTokenIntrospectConditional extends AllNestedConditions {
    +22  
    +23      OktaOpaqueTokenIntrospectConditional() {
    +24          super(ConfigurationPhase.REGISTER_BEAN);
    +25      }
    +26  
    +27      @ConditionalOnProperty(name="spring.security.oauth2.resourceserver.opaque-token.client-id")
    +28      static class ClientIdCondition { }
    +29  
    +30      @ConditionalOnProperty(name="spring.security.oauth2.resourceserver.opaque-token.client-secret")
    +31      static class ClientSecretCondition { }
    +32  
    +33      @ConditionalOnProperty(name="spring.security.oauth2.resourceserver.opaque-token.introspection-uri")
    +34      static class IntrospectionUriCondition { }
    +35  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/ReactiveOktaOAuth2AutoConfig.html b/3.0.5/xref/com/okta/spring/boot/oauth/ReactiveOktaOAuth2AutoConfig.html new file mode 100644 index 000000000..1a73d9e7d --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/ReactiveOktaOAuth2AutoConfig.html @@ -0,0 +1,96 @@ + + + +ReactiveOktaOAuth2AutoConfig xref + + + +
    +1   /*
    +2    * Copyright 2019-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.oauth;
    +17  
    +18  import com.okta.spring.boot.oauth.config.OktaOAuth2Properties;
    +19  import org.springframework.beans.factory.annotation.Qualifier;
    +20  import org.springframework.boot.autoconfigure.AutoConfiguration;
    +21  import org.springframework.boot.autoconfigure.AutoConfigureBefore;
    +22  import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
    +23  import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
    +24  import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
    +25  import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
    +26  import org.springframework.boot.context.properties.EnableConfigurationProperties;
    +27  import org.springframework.context.annotation.Bean;
    +28  import org.springframework.context.annotation.Import;
    +29  import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity;
    +30  import org.springframework.security.config.web.server.ServerHttpSecurity;
    +31  import org.springframework.security.oauth2.client.oidc.userinfo.OidcReactiveOAuth2UserService;
    +32  import org.springframework.security.oauth2.client.registration.ClientRegistration;
    +33  import org.springframework.security.oauth2.client.registration.ReactiveClientRegistrationRepository;
    +34  import org.springframework.security.oauth2.client.userinfo.OAuth2UserRequest;
    +35  import org.springframework.security.oauth2.client.userinfo.ReactiveOAuth2UserService;
    +36  import org.springframework.security.oauth2.core.user.OAuth2User;
    +37  import org.springframework.security.oauth2.jwt.ReactiveJwtDecoder;
    +38  import org.springframework.security.web.server.SecurityWebFilterChain;
    +39  import reactor.core.publisher.Flux;
    +40  
    +41  import java.util.Collection;
    +42  
    +43  @AutoConfiguration
    +44  @AutoConfigureBefore(name = {
    +45      "org.springframework.boot.autoconfigure.security.oauth2.client.reactive.ReactiveOAuth2ClientAutoConfiguration",
    +46      "org.springframework.boot.autoconfigure.security.oauth2.resource.reactive.ReactiveOAuth2ResourceServerAutoConfiguration"})
    +47  @EnableConfigurationProperties(OktaOAuth2Properties.class)
    +48  @ConditionalOnOktaClientProperties
    +49  @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.REACTIVE)
    +50  @ConditionalOnClass({ Flux.class, EnableWebFluxSecurity.class, ClientRegistration.class })
    +51  @Import(AuthorityProvidersConfig.class)
    +52  class ReactiveOktaOAuth2AutoConfig {
    +53  
    +54      @Bean
    +55      @ConditionalOnMissingBean
    +56      ReactiveOAuth2UserService<OAuth2UserRequest, OAuth2User> oauth2UserService(Collection<AuthoritiesProvider> authoritiesProviders) {
    +57          return new ReactiveOktaOAuth2UserService(authoritiesProviders);
    +58      }
    +59  
    +60      @Bean
    +61      @ConditionalOnMissingBean
    +62      OidcReactiveOAuth2UserService oidcUserService(Collection<AuthoritiesProvider> authoritiesProviders,
    +63                                                    @Qualifier("oauth2UserService") ReactiveOAuth2UserService<OAuth2UserRequest, OAuth2User> oAuth2UserService) {
    +64          return new ReactiveOktaOidcUserService(authoritiesProviders, oAuth2UserService);
    +65      }
    +66  
    +67      @Bean
    +68      @ConditionalOnBean(ReactiveJwtDecoder.class)
    +69      @ConditionalOnMissingBean(SecurityWebFilterChain.class)
    +70      SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http, ReactiveJwtDecoder jwtDecoder, ReactiveClientRegistrationRepository clientRegistrationRepository) {
    +71          // as of Spring Security 5.4 the default chain uses oauth2Login OR a JWT resource server (NOT both)
    +72          // this does the same as both defaults merged together (and provides the previous behavior)
    +73          http.authorizeExchange().anyExchange().authenticated();
    +74          Okta.configureOAuth2WithPkce(http, clientRegistrationRepository);
    +75          http.oauth2Client();
    +76          http.oauth2ResourceServer((server) -> customDecoder(server, jwtDecoder));
    +77          return http.build();
    +78      }
    +79  
    +80      private void customDecoder(ServerHttpSecurity.OAuth2ResourceServerSpec server, ReactiveJwtDecoder decoder) {
    +81          server.jwt((jwt) -> jwt.jwtDecoder(decoder));
    +82      }
    +83  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/ReactiveOktaOAuth2ResourceServerAutoConfig.html b/3.0.5/xref/com/okta/spring/boot/oauth/ReactiveOktaOAuth2ResourceServerAutoConfig.html new file mode 100644 index 000000000..564410698 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/ReactiveOktaOAuth2ResourceServerAutoConfig.html @@ -0,0 +1,70 @@ + + + +ReactiveOktaOAuth2ResourceServerAutoConfig xref + + + +
    +1   /*
    +2    * Copyright 2019-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *      http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.oauth;
    +17  
    +18  import com.okta.spring.boot.oauth.config.OktaOAuth2Properties;
    +19  import org.springframework.boot.autoconfigure.AutoConfiguration;
    +20  import org.springframework.boot.autoconfigure.AutoConfigureBefore;
    +21  import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
    +22  import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
    +23  import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
    +24  import org.springframework.boot.autoconfigure.security.oauth2.resource.OAuth2ResourceServerProperties;
    +25  import org.springframework.boot.autoconfigure.security.oauth2.resource.reactive.ReactiveOAuth2ResourceServerAutoConfiguration;
    +26  import org.springframework.boot.context.properties.EnableConfigurationProperties;
    +27  import org.springframework.context.annotation.Bean;
    +28  import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity;
    +29  import org.springframework.security.oauth2.jwt.NimbusReactiveJwtDecoder;
    +30  import org.springframework.security.oauth2.jwt.ReactiveJwtDecoder;
    +31  import org.springframework.security.oauth2.server.resource.BearerTokenAuthenticationToken;
    +32  import org.springframework.web.reactive.function.client.WebClient;
    +33  
    +34  @AutoConfiguration
    +35  @AutoConfigureBefore(ReactiveOAuth2ResourceServerAutoConfiguration.class)
    +36  @ConditionalOnOktaResourceServerProperties
    +37  @EnableConfigurationProperties({OktaOAuth2Properties.class, OAuth2ResourceServerProperties.class})
    +38  @ConditionalOnClass({ EnableWebFluxSecurity.class, BearerTokenAuthenticationToken.class, ReactiveJwtDecoder.class })
    +39  @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.REACTIVE)
    +40  class ReactiveOktaOAuth2ResourceServerAutoConfig {
    +41  
    +42      @Bean
    +43      @ConditionalOnMissingBean
    +44      ReactiveJwtDecoder jwtDecoder(OAuth2ResourceServerProperties oAuth2ResourceServerProperties, OktaOAuth2Properties oktaOAuth2Properties) {
    +45  
    +46          NimbusReactiveJwtDecoder.JwkSetUriReactiveJwtDecoderBuilder builder =
    +47              NimbusReactiveJwtDecoder.withJwkSetUri(oAuth2ResourceServerProperties.getJwt().getJwkSetUri());
    +48          builder.webClient(webClient());
    +49          NimbusReactiveJwtDecoder decoder = builder.build();
    +50          decoder.setJwtValidator(TokenUtil.jwtValidator(oAuth2ResourceServerProperties.getJwt().getIssuerUri(), oktaOAuth2Properties.getAudience()));
    +51          return decoder;
    +52      }
    +53  
    +54      private WebClient webClient() {
    +55          return WebClientUtil.createWebClient();
    +56      }
    +57  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/ReactiveOktaOAuth2ResourceServerHttpServerAutoConfig.html b/3.0.5/xref/com/okta/spring/boot/oauth/ReactiveOktaOAuth2ResourceServerHttpServerAutoConfig.html new file mode 100644 index 000000000..c98bb9260 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/ReactiveOktaOAuth2ResourceServerHttpServerAutoConfig.html @@ -0,0 +1,78 @@ + + + +ReactiveOktaOAuth2ResourceServerHttpServerAutoConfig xref + + + +
    +1   /*
    +2    * Copyright 2019-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *      http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.oauth;
    +17  
    +18  import com.okta.spring.boot.oauth.config.OktaOAuth2Properties;
    +19  import org.springframework.beans.factory.config.BeanPostProcessor;
    +20  import org.springframework.boot.autoconfigure.AutoConfiguration;
    +21  import org.springframework.boot.autoconfigure.AutoConfigureAfter;
    +22  import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
    +23  import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
    +24  import org.springframework.boot.autoconfigure.security.oauth2.resource.OAuth2ResourceServerProperties;
    +25  import org.springframework.boot.context.properties.EnableConfigurationProperties;
    +26  import org.springframework.context.annotation.Bean;
    +27  import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity;
    +28  import org.springframework.security.config.web.server.ServerHttpSecurity;
    +29  import org.springframework.security.oauth2.jwt.ReactiveJwtDecoder;
    +30  import org.springframework.security.oauth2.server.resource.BearerTokenAuthenticationToken;
    +31  import org.springframework.security.oauth2.server.resource.authentication.ReactiveJwtAuthenticationConverterAdapter;
    +32  
    +33  @AutoConfiguration
    +34  @ConditionalOnOktaResourceServerProperties
    +35  @AutoConfigureAfter(ReactiveOktaOAuth2ResourceServerAutoConfig.class)
    +36  @EnableConfigurationProperties({OktaOAuth2Properties.class, OAuth2ResourceServerProperties.class})
    +37  @ConditionalOnClass({ EnableWebFluxSecurity.class, BearerTokenAuthenticationToken.class, ReactiveJwtDecoder.class })
    +38  @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.REACTIVE)
    +39  class ReactiveOktaOAuth2ResourceServerHttpServerAutoConfig {
    +40  
    +41      @Bean
    +42      BeanPostProcessor oktaOAuth2ResourceServerBeanPostProcessor(OktaOAuth2Properties oktaOAuth2Properties) {
    +43          return new OktaOAuth2ResourceServerBeanPostProcessor(oktaOAuth2Properties);
    +44      }
    +45  
    +46      static class OktaOAuth2ResourceServerBeanPostProcessor implements BeanPostProcessor {
    +47  
    +48          private final OktaOAuth2Properties oktaOAuth2Properties;
    +49  
    +50          OktaOAuth2ResourceServerBeanPostProcessor(OktaOAuth2Properties oktaOAuth2Properties) {
    +51              this.oktaOAuth2Properties = oktaOAuth2Properties;
    +52          }
    +53  
    +54          @Override
    +55          public Object postProcessAfterInitialization(Object bean, String beanName) {
    +56              if (bean instanceof ServerHttpSecurity) {
    +57                  final ServerHttpSecurity http = (ServerHttpSecurity) bean;
    +58                  http.oauth2ResourceServer().jwt()
    +59                          .jwtAuthenticationConverter(new ReactiveJwtAuthenticationConverterAdapter(
    +60                                  new OktaJwtAuthenticationConverter(oktaOAuth2Properties.getGroupsClaim())));
    +61              }
    +62              return bean;
    +63          }
    +64      }
    +65  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/ReactiveOktaOAuth2ServerHttpServerAutoConfig.html b/3.0.5/xref/com/okta/spring/boot/oauth/ReactiveOktaOAuth2ServerHttpServerAutoConfig.html new file mode 100644 index 000000000..9b73f1dad --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/ReactiveOktaOAuth2ServerHttpServerAutoConfig.html @@ -0,0 +1,169 @@ + + + +ReactiveOktaOAuth2ServerHttpServerAutoConfig xref + + + +
    +1   /*
    +2    * Copyright 2012-2018 the original author or authors.
    +3    * Modifications Copyright 2019-Present Okta, Inc.
    +4    *
    +5    * Licensed under the Apache License, Version 2.0 (the "License");
    +6    * you may not use this file except in compliance with the License.
    +7    * You may obtain a copy of the License at
    +8    *
    +9    *      http://www.apache.org/licenses/LICENSE-2.0
    +10   *
    +11   * Unless required by applicable law or agreed to in writing, software
    +12   * distributed under the License is distributed on an "AS IS" BASIS,
    +13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +14   * See the License for the specific language governing permissions and
    +15   * limitations under the License.
    +16   */
    +17  package com.okta.spring.boot.oauth;
    +18  
    +19  import com.okta.spring.boot.oauth.config.OktaOAuth2Properties;
    +20  import org.springframework.beans.factory.annotation.Autowired;
    +21  import org.springframework.beans.factory.annotation.Qualifier;
    +22  import org.springframework.beans.factory.config.BeanPostProcessor;
    +23  import org.springframework.boot.autoconfigure.AutoConfiguration;
    +24  import org.springframework.boot.autoconfigure.AutoConfigureAfter;
    +25  import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
    +26  import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
    +27  import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
    +28  import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
    +29  import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
    +30  import org.springframework.context.annotation.Bean;
    +31  import org.springframework.http.HttpStatus;
    +32  import org.springframework.lang.Nullable;
    +33  import org.springframework.security.authentication.DelegatingReactiveAuthenticationManager;
    +34  import org.springframework.security.authentication.ReactiveAuthenticationManager;
    +35  import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity;
    +36  import org.springframework.security.config.web.server.ServerHttpSecurity;
    +37  import org.springframework.security.core.Authentication;
    +38  import org.springframework.security.core.AuthenticationException;
    +39  import org.springframework.security.oauth2.client.authentication.OAuth2LoginReactiveAuthenticationManager;
    +40  import org.springframework.security.oauth2.client.endpoint.WebClientReactiveAuthorizationCodeTokenResponseClient;
    +41  import org.springframework.security.oauth2.client.oidc.authentication.OidcAuthorizationCodeReactiveAuthenticationManager;
    +42  import org.springframework.security.oauth2.client.oidc.userinfo.OidcReactiveOAuth2UserService;
    +43  import org.springframework.security.oauth2.client.oidc.web.server.logout.OidcClientInitiatedServerLogoutSuccessHandler;
    +44  import org.springframework.security.oauth2.client.registration.ClientRegistration;
    +45  import org.springframework.security.oauth2.client.registration.ReactiveClientRegistrationRepository;
    +46  import org.springframework.security.oauth2.client.userinfo.OAuth2UserRequest;
    +47  import org.springframework.security.oauth2.client.userinfo.ReactiveOAuth2UserService;
    +48  import org.springframework.security.oauth2.core.user.OAuth2User;
    +49  import org.springframework.security.oauth2.jwt.JwtException;
    +50  import org.springframework.util.ClassUtils;
    +51  import org.springframework.web.bind.annotation.ResponseStatus;
    +52  import reactor.core.publisher.Flux;
    +53  import reactor.core.publisher.Mono;
    +54  
    +55  import java.net.URISyntaxException;
    +56  
    +57  @AutoConfiguration
    +58  @ConditionalOnOktaClientProperties
    +59  @AutoConfigureAfter(ReactiveOktaOAuth2AutoConfig.class)
    +60  @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.REACTIVE)
    +61  @ConditionalOnClass({ Flux.class, EnableWebFluxSecurity.class, ClientRegistration.class })
    +62  @ConditionalOnBean(ReactiveOktaOAuth2AutoConfig.class)
    +63  class ReactiveOktaOAuth2ServerHttpServerAutoConfig {
    +64  
    +65      @Bean
    +66      BeanPostProcessor authManagerServerHttpSecurityBeanPostProcessor(@Qualifier("oauth2UserService") ReactiveOAuth2UserService<OAuth2UserRequest, OAuth2User> oAuth2UserService,
    +67                                                                       @Qualifier("oidcUserService") OidcReactiveOAuth2UserService oidcUserService,
    +68                                                                       @Autowired(required = false) OidcClientInitiatedServerLogoutSuccessHandler logoutSuccessHandler) {
    +69          return new OktaOAuth2LoginServerBeanPostProcessor(oAuth2UserService, oidcUserService, logoutSuccessHandler);
    +70      }
    +71  
    +72      @Bean
    +73      @ConditionalOnMissingBean
    +74      @ConditionalOnProperty(name = "okta.oauth2.post-logout-redirect-uri")
    +75      OidcClientInitiatedServerLogoutSuccessHandler oidcClientInitiatedServerLogoutSuccessHandler(OktaOAuth2Properties oktaOAuth2Properties,
    +76                                                                                                  ReactiveClientRegistrationRepository repository) throws URISyntaxException {
    +77          OidcClientInitiatedServerLogoutSuccessHandler logoutSuccessHandler = new OidcClientInitiatedServerLogoutSuccessHandler(repository);
    +78          String logoutUri = oktaOAuth2Properties.getPostLogoutRedirectUri();
    +79          logoutSuccessHandler.setPostLogoutRedirectUri((logoutUri.startsWith("/") ? "{baseUrl}" : "") + logoutUri);
    +80          return logoutSuccessHandler;
    +81      }
    +82  
    +83      /*
    +84       * Fix for https://github.com/spring-projects/spring-security/issues/6484
    +85       */
    +86      private static ReactiveAuthenticationManager reactiveAuthenticationManager(ReactiveOAuth2UserService<OAuth2UserRequest, OAuth2User> oAuth2UserService,
    +87                                                                                 OidcReactiveOAuth2UserService oidcUserService) {
    +88          WebClientReactiveAuthorizationCodeTokenResponseClient client = new WebClientReactiveAuthorizationCodeTokenResponseClient();
    +89          ReactiveAuthenticationManager result = new OAuth2LoginReactiveAuthenticationManager(client, oAuth2UserService) {
    +90              @Override
    +91              public Mono<Authentication> authenticate(Authentication authentication) {
    +92                  return wrapOnErrorMap(super.authenticate(authentication));
    +93              }
    +94          };
    +95  
    +96          boolean oidcAuthenticationProviderEnabled = ClassUtils.isPresent(
    +97                  "org.springframework.security.oauth2.jwt.JwtDecoder", ReactiveOktaOAuth2ServerHttpServerAutoConfig.class.getClassLoader());
    +98          if (oidcAuthenticationProviderEnabled) {
    +99              OidcAuthorizationCodeReactiveAuthenticationManager oidc = new OidcAuthorizationCodeReactiveAuthenticationManager(client, oidcUserService) {
    +100                 @Override
    +101                 public Mono<Authentication> authenticate(Authentication authentication) {
    +102                     return wrapOnErrorMap(super.authenticate(authentication));
    +103                 }
    +104             };
    +105             result = new DelegatingReactiveAuthenticationManager(oidc, result);
    +106         }
    +107         return result;
    +108     }
    +109 
    +110     private static Mono<Authentication> wrapOnErrorMap(Mono<Authentication> authentication) {
    +111         return authentication.onErrorMap(ReactiveOktaOAuth2ServerHttpServerAutoConfig::shouldWrapException,
    +112                                          e -> new UnknownOAuthException("An error occurred while attempting to authenticate: ", e));
    +113     }
    +114 
    +115     private static boolean shouldWrapException(Throwable e) {
    +116         return e instanceof IllegalStateException
    +117             || e instanceof JwtException
    +118             || e instanceof AuthenticationException;
    +119     }
    +120 
    +121     @ResponseStatus(HttpStatus.UNAUTHORIZED)
    +122     static class UnknownOAuthException extends AuthenticationException {
    +123         UnknownOAuthException(String message, Throwable cause) {
    +124             super(message, cause);
    +125         }
    +126     }
    +127 
    +128     static class OktaOAuth2LoginServerBeanPostProcessor implements BeanPostProcessor {
    +129 
    +130         private final ReactiveOAuth2UserService<OAuth2UserRequest, OAuth2User> oAuth2UserService;
    +131         private final OidcReactiveOAuth2UserService oidcUserService;
    +132         private final OidcClientInitiatedServerLogoutSuccessHandler logoutSuccessHandler;
    +133 
    +134         OktaOAuth2LoginServerBeanPostProcessor(ReactiveOAuth2UserService<OAuth2UserRequest, OAuth2User> oAuth2UserService,
    +135                                                OidcReactiveOAuth2UserService oidcUserService,
    +136                                                @Nullable OidcClientInitiatedServerLogoutSuccessHandler logoutSuccessHandler) {
    +137             this.oAuth2UserService = oAuth2UserService;
    +138             this.oidcUserService = oidcUserService;
    +139             this.logoutSuccessHandler = logoutSuccessHandler;
    +140 
    +141         }
    +142 
    +143         @Override
    +144         public Object postProcessAfterInitialization(Object bean, String beanName) {
    +145             if (bean instanceof ServerHttpSecurity) {
    +146                 ServerHttpSecurity httpSecurity = (ServerHttpSecurity) bean;
    +147                 httpSecurity.oauth2Login().authenticationManager(reactiveAuthenticationManager(oAuth2UserService, oidcUserService));
    +148 
    +149                 if (logoutSuccessHandler != null) {
    +150                     httpSecurity.logout().logoutSuccessHandler(logoutSuccessHandler);
    +151                 }
    +152             }
    +153             return bean;
    +154         }
    +155     }
    +156 }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/ReactiveOktaOAuth2UserService.html b/3.0.5/xref/com/okta/spring/boot/oauth/ReactiveOktaOAuth2UserService.html new file mode 100644 index 000000000..df04fe5ad --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/ReactiveOktaOAuth2UserService.html @@ -0,0 +1,51 @@ + + + +ReactiveOktaOAuth2UserService xref + + + +
    +1   /*
    +2    * Copyright 2019-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.oauth;
    +17  
    +18  import org.springframework.security.oauth2.client.userinfo.DefaultReactiveOAuth2UserService;
    +19  import org.springframework.security.oauth2.client.userinfo.OAuth2UserRequest;
    +20  import org.springframework.security.oauth2.core.user.OAuth2User;
    +21  import reactor.core.publisher.Mono;
    +22  
    +23  import java.util.Collection;
    +24  
    +25  final class ReactiveOktaOAuth2UserService extends DefaultReactiveOAuth2UserService {
    +26  
    +27      private final Collection<AuthoritiesProvider> authoritiesProviders;
    +28  
    +29      ReactiveOktaOAuth2UserService(Collection<AuthoritiesProvider> authoritiesProviders) {
    +30          this.authoritiesProviders = authoritiesProviders;
    +31          setWebClient(WebClientUtil.createWebClient());
    +32      }
    +33  
    +34      @Override
    +35      public Mono<OAuth2User> loadUser(OAuth2UserRequest userRequest) {
    +36          return super.loadUser(userRequest).map(user -> UserUtil.decorateUser(user, userRequest, authoritiesProviders));
    +37      }
    +38  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/ReactiveOktaOidcUserService.html b/3.0.5/xref/com/okta/spring/boot/oauth/ReactiveOktaOidcUserService.html new file mode 100644 index 000000000..cf9a58b48 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/ReactiveOktaOidcUserService.html @@ -0,0 +1,58 @@ + + + +ReactiveOktaOidcUserService xref + + + +
    +1   /*
    +2    * Copyright 2019-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.oauth;
    +17  
    +18  import org.springframework.security.oauth2.client.oidc.userinfo.OidcReactiveOAuth2UserService;
    +19  import org.springframework.security.oauth2.client.oidc.userinfo.OidcUserRequest;
    +20  import org.springframework.security.oauth2.client.userinfo.OAuth2UserRequest;
    +21  import org.springframework.security.oauth2.client.userinfo.ReactiveOAuth2UserService;
    +22  import org.springframework.security.oauth2.core.oidc.user.OidcUser;
    +23  import org.springframework.security.oauth2.core.user.OAuth2User;
    +24  import reactor.core.publisher.Mono;
    +25  
    +26  import java.util.Collection;
    +27  
    +28  final class ReactiveOktaOidcUserService extends OidcReactiveOAuth2UserService {
    +29  
    +30      private final Collection<AuthoritiesProvider> authoritiesProviders;
    +31  
    +32      ReactiveOktaOidcUserService(Collection<AuthoritiesProvider> authoritiesProviders) {
    +33          this(authoritiesProviders, new ReactiveOktaOAuth2UserService(authoritiesProviders));
    +34      }
    +35  
    +36      ReactiveOktaOidcUserService(Collection<AuthoritiesProvider> authoritiesProviders, ReactiveOAuth2UserService<OAuth2UserRequest, OAuth2User> oauth2UserService) {
    +37          this.authoritiesProviders = authoritiesProviders;
    +38          setOauth2UserService(oauth2UserService);
    +39      }
    +40  
    +41      @Override
    +42      public Mono<OidcUser> loadUser(OidcUserRequest userRequest) {
    +43          return super.loadUser(userRequest).map(user -> UserUtil.decorateUser(user, userRequest,  authoritiesProviders));
    +44      }
    +45  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/TokenUtil.html b/3.0.5/xref/com/okta/spring/boot/oauth/TokenUtil.html new file mode 100644 index 000000000..655a7d841 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/TokenUtil.html @@ -0,0 +1,151 @@ + + + +TokenUtil xref + + + +
    +1   /*
    +2    * Copyright 2018-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.oauth;
    +17  
    +18  import com.okta.commons.lang.Strings;
    +19  import org.slf4j.Logger;
    +20  import org.slf4j.LoggerFactory;
    +21  import org.springframework.security.core.GrantedAuthority;
    +22  import org.springframework.security.core.authority.SimpleGrantedAuthority;
    +23  import org.springframework.security.oauth2.core.DelegatingOAuth2TokenValidator;
    +24  import org.springframework.security.oauth2.core.OAuth2AccessToken;
    +25  import org.springframework.security.oauth2.core.OAuth2Error;
    +26  import org.springframework.security.oauth2.core.OAuth2ErrorCodes;
    +27  import org.springframework.security.oauth2.core.OAuth2TokenValidator;
    +28  import org.springframework.security.oauth2.core.OAuth2TokenValidatorResult;
    +29  import org.springframework.security.oauth2.jwt.Jwt;
    +30  import org.springframework.security.oauth2.jwt.JwtIssuerValidator;
    +31  import org.springframework.security.oauth2.jwt.JwtTimestampValidator;
    +32  import org.springframework.util.CollectionUtils;
    +33  import org.springframework.util.StringUtils;
    +34  
    +35  import java.net.MalformedURLException;
    +36  import java.net.URL;
    +37  import java.util.ArrayList;
    +38  import java.util.Collection;
    +39  import java.util.Collections;
    +40  import java.util.HashSet;
    +41  import java.util.List;
    +42  import java.util.Map;
    +43  import java.util.Set;
    +44  import java.util.stream.Collectors;
    +45  
    +46  final class TokenUtil {
    +47  
    +48      private static final Logger log = LoggerFactory.getLogger(TokenUtil.class);
    +49      private static final OAuth2Error INVALID_AUDIENCE = new OAuth2Error(
    +50                          OAuth2ErrorCodes.INVALID_REQUEST,
    +51                          "This aud claim is not equal to the configured audience",
    +52                          "https://tools.ietf.org/html/rfc6750#section-3.1");
    +53  
    +54      private TokenUtil(){}
    +55  
    +56      static Collection<? extends GrantedAuthority> tokenScopesToAuthorities(OAuth2AccessToken accessToken) {
    +57  
    +58          if (accessToken == null || accessToken.getScopes() == null) {
    +59              return Collections.emptySet();
    +60          }
    +61  
    +62          return accessToken.getScopes().stream()
    +63                  .map(scope -> "SCOPE_" + scope)
    +64                  .map(SimpleGrantedAuthority::new)
    +65                  .collect(Collectors.toSet());
    +66      }
    +67  
    +68      static Collection<? extends GrantedAuthority> tokenClaimsToAuthorities(Map<String, Object> attributes, String claimKey) {
    +69  
    +70          if (!CollectionUtils.isEmpty(attributes) && StringUtils.hasText(claimKey)) {
    +71              Object rawRoleClaim = attributes.get(claimKey);
    +72              if (rawRoleClaim instanceof Collection) {
    +73                  return ((Collection<String>) rawRoleClaim).stream()
    +74                          .map(SimpleGrantedAuthority::new)
    +75                          .collect(Collectors.toSet());
    +76              } else if (rawRoleClaim != null) { // don't log when null, that is the default condition
    +77                  log.debug("Could not extract authorities from claim '{}', value was not a collection", claimKey);
    +78              }
    +79          }
    +80          return Collections.emptySet();
    +81      }
    +82  
    +83  
    +84      static Collection<? extends GrantedAuthority> opaqueTokenClaimsToAuthorities(Map<String, Object> attributes,
    +85                                                                                   String groupsClaim,
    +86                                                                                   Collection<? extends GrantedAuthority> authorities) {
    +87  
    +88          Collection<GrantedAuthority> mappedAuthorities =
    +89              new ArrayList<>(tokenClaimsToAuthorities(attributes, groupsClaim));
    +90          mappedAuthorities.addAll(authorities);
    +91          return mappedAuthorities;
    +92      }
    +93  
    +94      static OAuth2TokenValidator<Jwt> jwtValidator(String issuer, String audience ) {
    +95          List<OAuth2TokenValidator<Jwt>> validators = new ArrayList<>();
    +96              validators.add(new JwtTimestampValidator());
    +97              validators.add(new JwtIssuerValidator(issuer));
    +98              validators.add(token -> {
    +99                  Set<String> expectedAudience = new HashSet<>();
    +100                 expectedAudience.add(audience);
    +101                 return !Collections.disjoint(token.getAudience(), expectedAudience)
    +102                         ? OAuth2TokenValidatorResult.success()
    +103                         : OAuth2TokenValidatorResult.failure(INVALID_AUDIENCE);
    +104             });
    +105         return new DelegatingOAuth2TokenValidator<>(validators);
    +106     }
    +107 
    +108     /**
    +109      * Check if the issuer is root/org URI.
    +110      *
    +111      * Issuer URL that does not follow the pattern '/oauth2/default' (or) '/oauth2/some_id_string' is
    +112      * considered root/org issuer.
    +113      *
    +114      * e.g. https://sample.okta.com (root/org url)
    +115      *      https://sample.okta.com/oauth2/default (non-root issuer/org url)
    +116      *      https://sample.okta.com/oauth2/ausar5cbq5TRRsbcJ0h7 (non-root issuer/org url)
    +117      *
    +118      * @param issuerUri
    +119      * @return true if root/org, false otherwise
    +120      */
    +121     static boolean isRootOrgIssuer(String issuerUri) throws MalformedURLException {
    +122         String uriPath = new URL(issuerUri).getPath();
    +123 
    +124         if (Strings.hasText(uriPath)) {
    +125             String[] tokenizedUri = uriPath.substring(uriPath.indexOf("/")+1).split("/");
    +126 
    +127             if (tokenizedUri.length >= 2 &&
    +128                 "oauth2".equals(tokenizedUri[0]) &&
    +129                 Strings.hasText(tokenizedUri[1])) {
    +130                 log.debug("The issuer URL: '{}' is an Okta custom authorization server", issuerUri);
    +131                 return false;
    +132             }
    +133         }
    +134 
    +135         log.debug("The issuer URL: '{}' is an Okta root/org authorization server", issuerUri);
    +136         return true;
    +137     }
    +138 }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/UserUtil.html b/3.0.5/xref/com/okta/spring/boot/oauth/UserUtil.html new file mode 100644 index 000000000..d037c3fb8 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/UserUtil.html @@ -0,0 +1,92 @@ + + + +UserUtil xref + + + +
    +1   /*
    +2    * Copyright 2019-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.oauth;
    +17  
    +18  import org.springframework.security.core.GrantedAuthority;
    +19  import org.springframework.security.oauth2.client.oidc.userinfo.OidcUserRequest;
    +20  import org.springframework.security.oauth2.client.userinfo.OAuth2UserRequest;
    +21  import org.springframework.security.oauth2.core.oidc.user.DefaultOidcUser;
    +22  import org.springframework.security.oauth2.core.oidc.user.OidcUser;
    +23  import org.springframework.security.oauth2.core.user.DefaultOAuth2User;
    +24  import org.springframework.security.oauth2.core.user.OAuth2User;
    +25  import org.springframework.util.StringUtils;
    +26  
    +27  import java.util.Collection;
    +28  import java.util.HashSet;
    +29  import java.util.Objects;
    +30  import java.util.Set;
    +31  
    +32  final class UserUtil {
    +33  
    +34      private UserUtil() {}
    +35  
    +36      static OAuth2User decorateUser(OAuth2User user, OAuth2UserRequest userRequest, Collection<AuthoritiesProvider> authoritiesProviders) {
    +37  
    +38          // Only post process requests from the "Okta" reg
    +39          if (!"okta".equalsIgnoreCase(userRequest.getClientRegistration().getRegistrationId())) {
    +40              return user;
    +41          }
    +42  
    +43          // start with authorities from super
    +44          Set<GrantedAuthority> authorities = new HashSet<>(user.getAuthorities());
    +45          // add each set of authorities from providers
    +46          authoritiesProviders.stream()
    +47              .map(authoritiesProvider -> authoritiesProvider.getAuthorities(user, userRequest))
    +48              .filter(Objects::nonNull)
    +49              .forEach(authorities::addAll);
    +50  
    +51          String userNameAttributeName = userRequest.getClientRegistration().getProviderDetails()
    +52                  .getUserInfoEndpoint().getUserNameAttributeName();
    +53  
    +54          return new DefaultOAuth2User(authorities, user.getAttributes(), userNameAttributeName);
    +55      }
    +56  
    +57      static OidcUser decorateUser(OidcUser user, OidcUserRequest userRequest, Collection<AuthoritiesProvider> authoritiesProviders) {
    +58  
    +59          // Only post process requests from the "Okta" reg
    +60          if (!"okta".equals(userRequest.getClientRegistration().getRegistrationId())) {
    +61              return user;
    +62          }
    +63  
    +64          // start with authorities from super
    +65          Set<GrantedAuthority> authorities = new HashSet<>(user.getAuthorities());
    +66          // add each set of authorities from providers
    +67          authoritiesProviders.stream()
    +68              .map(authoritiesProvider -> authoritiesProvider.getAuthorities(user, userRequest))
    +69              .filter(Objects::nonNull)
    +70              .forEach(authorities::addAll);
    +71  
    +72          String userNameAttributeName = userRequest.getClientRegistration()
    +73              .getProviderDetails().getUserInfoEndpoint().getUserNameAttributeName();
    +74  
    +75          return StringUtils.hasText(userNameAttributeName)
    +76                  ? new DefaultOidcUser(authorities, user.getIdToken(), user.getUserInfo(), userNameAttributeName)
    +77                  : new DefaultOidcUser(authorities, user.getIdToken(), user.getUserInfo());
    +78      }
    +79  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/WebClientUtil.html b/3.0.5/xref/com/okta/spring/boot/oauth/WebClientUtil.html new file mode 100644 index 000000000..ef32292b6 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/WebClientUtil.html @@ -0,0 +1,50 @@ + + + +WebClientUtil xref + + + +
    +1   /*
    +2    * Copyright 2019-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.oauth;
    +17  
    +18  import com.okta.commons.lang.ApplicationInfo;
    +19  import org.springframework.http.HttpHeaders;
    +20  import org.springframework.web.reactive.function.client.WebClient;
    +21  
    +22  import java.util.stream.Collectors;
    +23  
    +24  final class WebClientUtil {
    +25  
    +26      private static final String USER_AGENT_VALUE = ApplicationInfo.get().entrySet().stream()
    +27              .map(e -> e.getKey() + "/" + e.getValue())
    +28              .collect(Collectors.joining(" "));
    +29  
    +30      private WebClientUtil() {}
    +31  
    +32      static WebClient createWebClient() {
    +33         return WebClient.builder()
    +34              .defaultHeader(HttpHeaders.USER_AGENT, USER_AGENT_VALUE)
    +35              .build();
    +36      }
    +37  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/config/OktaOAuth2Properties.html b/3.0.5/xref/com/okta/spring/boot/oauth/config/OktaOAuth2Properties.html new file mode 100644 index 000000000..cc753c63f --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/config/OktaOAuth2Properties.html @@ -0,0 +1,251 @@ + + + +OktaOAuth2Properties xref + + + +
    +1   /*
    +2    * Copyright 2017 Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.oauth.config;
    +17  
    +18  import com.okta.commons.configcheck.ConfigurationValidator;
    +19  import org.springframework.beans.factory.annotation.Autowired;
    +20  import org.springframework.boot.autoconfigure.security.oauth2.client.OAuth2ClientProperties;
    +21  import org.springframework.boot.context.properties.ConfigurationProperties;
    +22  import org.springframework.validation.Errors;
    +23  import org.springframework.validation.Validator;
    +24  
    +25  import java.util.Optional;
    +26  import java.util.Set;
    +27  
    +28  @ConfigurationProperties("okta.oauth2")
    +29  public final class OktaOAuth2Properties implements Validator {
    +30  
    +31      private final OAuth2ClientProperties clientProperties;
    +32  
    +33      /**
    +34       * Login route path. This property should NOT be used with applications that have multiple OAuth2 providers.
    +35       * NOTE: this does NOT work with WebFlux, where the redirect URI will always be: /login/oauth2/code/okta
    +36       */
    +37      private String redirectUri;
    +38  
    +39      /**
    +40       *  OAuth2 clientId value.
    +41       */
    +42      private String clientId;
    +43  
    +44      /**
    +45       * OAuth2 client secret value.
    +46       */
    +47      private String clientSecret;
    +48  
    +49      /**
    +50       * Custom authorization server issuer URL: i.e. 'https://dev-123456.oktapreview.com/oauth2/ausar5cbq5TRooicu812'.
    +51       */
    +52      private String issuer;
    +53  
    +54      /**
    +55       * Authorization scopes.
    +56       */
    +57      private Set<String> scopes;
    +58  
    +59      /**
    +60       * Expected access token audience claim value.
    +61       */
    +62      private String audience = "api://default";
    +63  
    +64      /**
    +65       * Access token roles/groups claim key.
    +66       */
    +67      private String groupsClaim = "groups";
    +68  
    +69      /**
    +70       * URL to redirect to after an RP-Initiated logout (SSO Logout).
    +71       */
    +72      private String postLogoutRedirectUri;
    +73  
    +74      /**
    +75       * Proxy Properties
    +76       */
    +77      private Proxy proxy;
    +78  
    +79      // work around for https://github.com/spring-projects/spring-boot/issues/17035
    +80      private OktaOAuth2Properties() {
    +81          this(null);
    +82      }
    +83  
    +84      @Autowired
    +85      public OktaOAuth2Properties(@Autowired(required = false) OAuth2ClientProperties clientProperties) {
    +86          this.clientProperties = clientProperties;
    +87      }
    +88  
    +89      public String getClientId() {
    +90          return getRegistration().map(OAuth2ClientProperties.Registration::getClientId)
    +91                                  .orElse(clientId);
    +92      }
    +93  
    +94      public void setClientId(String clientId) {
    +95          this.clientId = clientId;
    +96      }
    +97  
    +98      public String getClientSecret() {
    +99          return getRegistration().map(OAuth2ClientProperties.Registration::getClientSecret)
    +100                                 .orElse(clientSecret);
    +101     }
    +102 
    +103     public void setClientSecret(String clientSecret) {
    +104         this.clientSecret = clientSecret;
    +105     }
    +106 
    +107     public String getIssuer() {
    +108         return issuer;
    +109     }
    +110 
    +111     public void setIssuer(String issuer) {
    +112         this.issuer = issuer;
    +113     }
    +114 
    +115     public String getAudience() {
    +116         return audience;
    +117     }
    +118 
    +119     public void setAudience(String audience) {
    +120         this.audience = audience;
    +121     }
    +122 
    +123     public String getGroupsClaim() {
    +124         return groupsClaim;
    +125     }
    +126 
    +127     public void setGroupsClaim(String groupsClaim) {
    +128         this.groupsClaim = groupsClaim;
    +129     }
    +130 
    +131     public Set<String> getScopes() {
    +132         return getRegistration().map(OAuth2ClientProperties.Registration::getScope)
    +133                                 .orElse(scopes);
    +134     }
    +135 
    +136     public void setScopes(Set<String> scopes) {
    +137         this.scopes = scopes;
    +138     }
    +139 
    +140     public String getRedirectUri() {
    +141         return redirectUri;
    +142     }
    +143 
    +144     public void setRedirectUri(String redirectUri) {
    +145         this.redirectUri = redirectUri;
    +146     }
    +147 
    +148     private Optional<OAuth2ClientProperties.Registration> getRegistration() {
    +149         return Optional.ofNullable(clientProperties != null
    +150                 ? clientProperties.getRegistration().get("okta")
    +151                 : null);
    +152     }
    +153 
    +154     public String getPostLogoutRedirectUri() {
    +155         return postLogoutRedirectUri;
    +156     }
    +157 
    +158     public void setPostLogoutRedirectUri(String postLogoutRedirectUri) {
    +159         this.postLogoutRedirectUri = postLogoutRedirectUri;
    +160     }
    +161 
    +162     public Proxy getProxy() {
    +163         return proxy;
    +164     }
    +165 
    +166     public void setProxy(Proxy proxy) {
    +167         this.proxy = proxy;
    +168     }
    +169 
    +170     @Override
    +171     public boolean supports(Class<?> clazz) {
    +172         return OktaOAuth2Properties.class.isAssignableFrom(clazz);
    +173     }
    +174 
    +175     @Override
    +176     public void validate(Object target, Errors errors) {
    +177 
    +178         OktaOAuth2Properties properties = (OktaOAuth2Properties) target;
    +179 
    +180         if (properties.getClientId() != null) {
    +181         ConfigurationValidator.validateClientId(properties.getClientId()).ifInvalid(res ->
    +182                 errors.rejectValue("clientId", res.getMessage()));
    +183         }
    +184 
    +185         if (properties.getClientSecret() != null) {
    +186             ConfigurationValidator.validateClientSecret(properties.getClientSecret()).ifInvalid(res ->
    +187                     errors.rejectValue("clientSecret", res.getMessage()));
    +188         }
    +189 
    +190         if (properties.getIssuer() != null) {
    +191             ConfigurationValidator.validateIssuer(properties.getIssuer()).ifInvalid(res ->
    +192                     errors.rejectValue("issuer", res.getMessage()));
    +193         }
    +194     }
    +195 
    +196     public static class Proxy {
    +197 
    +198         private String host;
    +199 
    +200         private int port;
    +201 
    +202         private String username;
    +203 
    +204         private String password;
    +205 
    +206         public String getHost() {
    +207             return host;
    +208         }
    +209 
    +210         public void setHost(String host) {
    +211             this.host = host;
    +212         }
    +213 
    +214         public int getPort() {
    +215             return port;
    +216         }
    +217 
    +218         public void setPort(int port) {
    +219             this.port = port;
    +220         }
    +221 
    +222         public String getUsername() {
    +223             return username;
    +224         }
    +225 
    +226         public void setUsername(String username) {
    +227             this.username = username;
    +228         }
    +229 
    +230         public String getPassword() {
    +231             return password;
    +232         }
    +233 
    +234         public void setPassword(String password) {
    +235             this.password = password;
    +236         }
    +237     }
    +238 }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/config/package-frame.html b/3.0.5/xref/com/okta/spring/boot/oauth/config/package-frame.html new file mode 100644 index 000000000..236f31f4d --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/config/package-frame.html @@ -0,0 +1,24 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.boot.oauth.config + + + +

    com.okta.spring.boot.oauth.config

    +
    +

    Classes

    + +
    + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/config/package-summary.html b/3.0.5/xref/com/okta/spring/boot/oauth/config/package-summary.html new file mode 100644 index 000000000..fb88cd1c9 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/config/package-summary.html @@ -0,0 +1,112 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.boot.oauth.config + + + + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + +
    +

    Package com.okta.spring.boot.oauth.config

    +
    +
    + +
    + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/env/OIDCMetadata.html b/3.0.5/xref/com/okta/spring/boot/oauth/env/OIDCMetadata.html new file mode 100644 index 000000000..2aa56f33d --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/env/OIDCMetadata.html @@ -0,0 +1,110 @@ + + + +OIDCMetadata xref + + + +
    +1   /*
    +2    * Copyright 2023-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.oauth.env;
    +17  
    +18  import com.fasterxml.jackson.core.JsonProcessingException;
    +19  import com.fasterxml.jackson.databind.JsonNode;
    +20  import com.fasterxml.jackson.databind.ObjectMapper;
    +21  import org.springframework.http.ResponseEntity;
    +22  
    +23  public class OIDCMetadata {
    +24  
    +25      private boolean isAuth0;
    +26      private final String clientAuthenticationMethod = "none";
    +27      private final String scope = "profile,email,openid";
    +28      private final String jwkSetURI;
    +29      private final String authorizationURI;
    +30      private final String tokenURI;
    +31      private final String userInfoURI;
    +32      private final String introspectionURI;
    +33  
    +34      public boolean isAuth0() {
    +35          return isAuth0;
    +36      }
    +37  
    +38      public String getClientAuthenticationMethod() {
    +39          return clientAuthenticationMethod;
    +40      }
    +41  
    +42      public String getScope() {
    +43          return scope;
    +44      }
    +45  
    +46      public String getJwkSetURI() {
    +47          return jwkSetURI;
    +48      }
    +49  
    +50      public String getAuthorizationURI() {
    +51          return authorizationURI;
    +52      }
    +53  
    +54      public String getTokenURI() {
    +55          return tokenURI;
    +56      }
    +57  
    +58      public String getUserInfoURI() {
    +59          return userInfoURI;
    +60      }
    +61  
    +62      public String getIntrospectionURI() {
    +63          return introspectionURI;
    +64      }
    +65  
    +66      public OIDCMetadata(String issuerWithPathKey) {
    +67          this.jwkSetURI = "${" + issuerWithPathKey + "}/v1/keys";
    +68          this.authorizationURI = "${" + issuerWithPathKey + "}/v1/authorize";
    +69          this.tokenURI = "${" + issuerWithPathKey + "}/v1/token";
    +70          this.userInfoURI = "${" + issuerWithPathKey + "}/v1/userinfo";
    +71          this.introspectionURI = "${" + issuerWithPathKey + "}/v1/introspect";
    +72      }
    +73  
    +74      /**
    +75       * Fetch metadata from the ${issuer}/.well-known/openid-configuration endpoint
    +76       *
    +77       * @param response well known metadata response
    +78       */
    +79      public OIDCMetadata(ResponseEntity<String> response) throws JsonProcessingException {
    +80  
    +81          ObjectMapper mapper = new ObjectMapper();
    +82          JsonNode root = mapper.readTree(response.getBody());
    +83  
    +84          if (root.has("introspection_endpoint") && !root.path("introspection_endpoint").isNull()) {
    +85              this.introspectionURI = root.path("introspection_endpoint").asText();
    +86          } else {
    +87              // auth0 does not have this URL
    +88              this.introspectionURI = null;
    +89              this.isAuth0 = true;
    +90          }
    +91  
    +92          this.jwkSetURI = root.path("jwks_uri").asText();
    +93          this.authorizationURI = root.path("authorization_endpoint").asText();
    +94          this.tokenURI = root.path("token_endpoint").asText();
    +95          this.userInfoURI = root.path("userinfo_endpoint").asText();
    +96      }
    +97  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/env/OktaEnvironmentPostProcessorApplicationListener.html b/3.0.5/xref/com/okta/spring/boot/oauth/env/OktaEnvironmentPostProcessorApplicationListener.html new file mode 100644 index 000000000..11d4ed944 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/env/OktaEnvironmentPostProcessorApplicationListener.html @@ -0,0 +1,66 @@ + + + +OktaEnvironmentPostProcessorApplicationListener xref + + + +
    +1   /*
    +2    * Copyright 2020-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.oauth.env;
    +17  
    +18  import com.okta.commons.configcheck.ConfigurationValidator;
    +19  import com.okta.commons.configcheck.ValidationResponse;
    +20  import org.slf4j.Logger;
    +21  import org.slf4j.LoggerFactory;
    +22  import org.springframework.boot.context.event.ApplicationPreparedEvent;
    +23  import org.springframework.context.ApplicationEvent;
    +24  import org.springframework.context.event.SmartApplicationListener;
    +25  import org.springframework.core.Ordered;
    +26  import org.springframework.core.env.ConfigurableEnvironment;
    +27  
    +28  public class OktaEnvironmentPostProcessorApplicationListener implements SmartApplicationListener, Ordered {
    +29  
    +30      private static final Logger log = LoggerFactory.getLogger(OktaEnvironmentPostProcessorApplicationListener.class);
    +31  
    +32      @Override
    +33      public void onApplicationEvent(ApplicationEvent event) {
    +34          if (event instanceof ApplicationPreparedEvent) {
    +35              ConfigurableEnvironment environment = ((ApplicationPreparedEvent) event).getApplicationContext().getEnvironment();
    +36              ValidationResponse validationResponse = ConfigurationValidator.validateIssuer(environment.getProperty("okta.oauth2.issuer"));
    +37              if (!validationResponse.isValid()) {
    +38                  log.warn(validationResponse.getMessage() + System.lineSeparator() +
    +39                      "To fix this add the `okta.oauth2.issuer` property to your application environments.");
    +40              }
    +41          }
    +42      }
    +43  
    +44      @Override
    +45      public boolean supportsEventType(Class<? extends ApplicationEvent> eventType) {
    +46          return ApplicationPreparedEvent.class.isAssignableFrom(eventType);
    +47      }
    +48  
    +49      @Override
    +50      public int getOrder() {
    +51          return Ordered.LOWEST_PRECEDENCE;
    +52      }
    +53  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/env/OktaOAuth2PropertiesMappingEnvironmentPostProcessor.html b/3.0.5/xref/com/okta/spring/boot/oauth/env/OktaOAuth2PropertiesMappingEnvironmentPostProcessor.html new file mode 100644 index 000000000..0829cf074 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/env/OktaOAuth2PropertiesMappingEnvironmentPostProcessor.html @@ -0,0 +1,326 @@ + + + +OktaOAuth2PropertiesMappingEnvironmentPostProcessor xref + + + +
    +1   /*
    +2    * Copyright 2017 Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.oauth.env;
    +17  
    +18  import com.fasterxml.jackson.core.JsonProcessingException;
    +19  import org.springframework.boot.SpringApplication;
    +20  import org.springframework.boot.context.properties.bind.Bindable;
    +21  import org.springframework.boot.context.properties.bind.Binder;
    +22  import org.springframework.boot.env.EnvironmentPostProcessor;
    +23  import org.springframework.boot.logging.DeferredLog;
    +24  import org.springframework.core.Ordered;
    +25  import org.springframework.core.env.ConfigurableEnvironment;
    +26  import org.springframework.core.env.Environment;
    +27  import org.springframework.core.env.MapPropertySource;
    +28  import org.springframework.core.env.PropertySource;
    +29  
    +30  import java.util.*;
    +31  
    +32  import jakarta.validation.constraints.NotNull;
    +33  import org.springframework.http.ResponseEntity;
    +34  import org.springframework.web.client.ResourceAccessException;
    +35  import org.springframework.web.client.RestTemplate;
    +36  
    +37  /**
    +38   * This {@link EnvironmentPostProcessor} configures additional {@link PropertySource}s that map OIDC discovery metadata
    +39   * and standard Okta properties to standard Spring Boot OAuth2 properties.
    +40   *
    +41   * <p>
    +42   * <table summary="Property mapping">
    +43   *     <tr>
    +44   *         <th>Okta Property</th>
    +45   *         <th>Spring Boot Property</th>
    +46   *     </tr>
    +47   *     <tr>
    +48   *         <td>okta.oauth2.client-id</td>
    +49   *         <td>spring.security.oauth2.client.registration.okta.client-id</td>
    +50   *     </tr>
    +51   *     <tr>
    +52   *         <td>okta.oauth2.client-secret</td>
    +53   *         <td>spring.security.oauth2.client.registration.okta.client-secret
    +54   *     </tr>
    +55   *     <tr>
    +56   *         <td>okta.oauth2.scopes</td>
    +57   *         <td>spring.security.oauth2.client.registration.okta.scope</td></td>
    +58   *     </tr>
    +59   *     <tr>
    +60   *         <td>${okta.oauth2.issuer}/v1/authorize</td>
    +61   *         <td>spring.security.oauth2.client.provider.okta.authorization-uri</td></td>
    +62   *     </tr>
    +63   *     <tr>
    +64   *         <td>${okta.oauth2.issuer}/v1/token</td>
    +65   *         <td>spring.security.oauth2.client.provider.okta.token-uri</td></td>
    +66   *     </tr>
    +67   *     <tr>
    +68   *         <td>${okta.oauth2.issuer}/v1/userinfo</td>
    +69   *         <td>spring.security.oauth2.client.provider.okta.user-info-uri</td></td>
    +70   *     </tr>
    +71   *     <tr>
    +72   *         <td>${okta.oauth2.issuer}/v1/keys</td>
    +73   *         <td>spring.security.oauth2.client.provider.okta.jwk-set-uri</td></td>
    +74   *     </tr>
    +75   *     <tr>
    +76   *         <td>${okta.oauth2.issuer}</td>
    +77   *         <td>spring.security.oauth2.resourceserver.jwt.issuer-uri</td></td>
    +78   *     </tr>
    +79   *     <tr>
    +80   *         <td>${okta.oauth2.issuer}/v1/keys</td>
    +81   *         <td>spring.security.oauth2.resourceserver.jwt.jwk-set-uri</td></td>
    +82   *     </tr>
    +83   *     <tr>
    +84   *         <td>${okta.oauth2.clientId}</td>
    +85   *         <td>spring.security.oauth2.resourceserver.opaquetoken.client-id</td></td>
    +86   *     </tr>
    +87   *     <tr>
    +88   *         <td>${okta.oauth2.clientSecret}</td>
    +89   *         <td>spring.security.oauth2.resourceserver.opaquetoken.client-secret</td></td>
    +90   *     </tr>
    +91   *     <tr>
    +92   *         <td>${okta.oauth2.introspectionUri}</td>
    +93   *         <td>spring.security.oauth2.resourceserver.opaquetoken.introspection-uri</td></td>
    +94   *     </tr>
    +95   * </table>
    +96   *
    +97   * @since 0.2.0
    +98   */
    +99  final class OktaOAuth2PropertiesMappingEnvironmentPostProcessor implements EnvironmentPostProcessor, Ordered {
    +100 
    +101     private static final DeferredLog log = new DeferredLog();
    +102 
    +103     private static final String OKTA_OAUTH_PREFIX = "okta.oauth2.";
    +104     private static final String OKTA_OAUTH_ISSUER = OKTA_OAUTH_PREFIX + "issuer";
    +105     private static final String OKTA_OAUTH_ISSUER_WITH_PATH = OKTA_OAUTH_ISSUER + "-with-path";
    +106     private static final String OKTA_OAUTH_CLIENT_ID = OKTA_OAUTH_PREFIX + "client-id";
    +107     private static final String OKTA_OAUTH_CLIENT_SECRET = OKTA_OAUTH_PREFIX + "client-secret";
    +108     private static final String OKTA_OAUTH_SCOPES = OKTA_OAUTH_PREFIX + "scopes"; // array vs string
    +109 
    +110     @Override
    +111     public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) {
    +112 
    +113         OIDCMetadata oidcMetadata;
    +114         try {
    +115             String issuer = environment.getProperty(OKTA_OAUTH_ISSUER);
    +116             if (issuer != null) {
    +117                 RestTemplate restTemplate = new RestTemplate();
    +118                 if (!issuer.endsWith("/")) {
    +119                     issuer += "/";
    +120                 }
    +121                 ResponseEntity<String> response
    +122                     = restTemplate.getForEntity(issuer + ".well-known/openid-configuration", String.class);
    +123                 oidcMetadata = new OIDCMetadata(response);
    +124             } else {
    +125                 oidcMetadata = new OIDCMetadata(OKTA_OAUTH_ISSUER_WITH_PATH);
    +126             }
    +127         } catch (JsonProcessingException | ResourceAccessException e) {
    +128             log.warn("Failed to process '.well-known/openid-configuration' metadata. Using defaults for Okta");
    +129             oidcMetadata = new OIDCMetadata(OKTA_OAUTH_ISSUER_WITH_PATH);
    +130         }
    +131 
    +132         // convert okta.oauth2.* properties to long form spring oauth properties
    +133         environment.getPropertySources().addLast(remappedOktaToStandardOAuthPropertySource(environment));
    +134         environment.getPropertySources().addLast(remappedOktaOAuth2ScopesPropertySource(environment));
    +135         // default scopes, as of Spring Security 5.4 default scopes are no longer added, this restores that functionality
    +136         environment.getPropertySources().addLast(defaultOktaScopesSource(environment, Objects.requireNonNull(oidcMetadata)));
    +137         // okta's endpoints can be resolved from an issuer
    +138         environment.getPropertySources().addLast(new OktaIssuerWithPathPropertySource(environment, oidcMetadata.isAuth0()));
    +139         environment.getPropertySources().addLast(oktaStaticDiscoveryPropertySource(environment, oidcMetadata));
    +140         // Auth0 does not have an introspection endpoint
    +141         if (oidcMetadata.getIntrospectionURI() != null) {
    +142             environment.getPropertySources().addLast(oktaOpaqueTokenPropertySource(environment, oidcMetadata));
    +143         }
    +144         environment.getPropertySources().addLast(oktaRedirectUriPropertySource(environment));
    +145         environment.getPropertySources().addLast(otkaForcePkcePropertySource(environment, oidcMetadata));
    +146 
    +147         if (application != null) {
    +148             // This is required as EnvironmentPostProcessors are run before logging system is initialized
    +149             application.addInitializers(ctx -> log.replayTo(OktaOAuth2PropertiesMappingEnvironmentPostProcessor.class));
    +150         }
    +151     }
    +152 
    +153     private PropertySource<?> otkaForcePkcePropertySource(ConfigurableEnvironment environment, OIDCMetadata oidcMetadata) {
    +154         Map<String, Object> props = new HashMap<>();
    +155         props.put("spring.security.oauth2.client.registration.okta.client-authentication-method", oidcMetadata.getClientAuthenticationMethod());
    +156 
    +157         return new ConditionalMapPropertySource("okta-pkce-for-public-clients", props, environment, OKTA_OAUTH_ISSUER, OKTA_OAUTH_CLIENT_ID) {
    +158             @Override
    +159             public boolean containsProperty(String name) {
    +160                 return super.containsProperty(name)
    +161                     && !environment.containsProperty("spring.security.oauth2.client.registration.okta.client-secret");
    +162             }
    +163         };
    +164     }
    +165 
    +166     private PropertySource defaultOktaScopesSource(Environment environment, OIDCMetadata oidcMetadata) {
    +167         Map<String, Object> props = new HashMap<>();
    +168         props.put("spring.security.oauth2.client.registration.okta.scope", oidcMetadata.getScope());
    +169         return new ConditionalMapPropertySource("default-scopes", props, environment, OKTA_OAUTH_ISSUER, OKTA_OAUTH_CLIENT_ID);
    +170     }
    +171 
    +172     private PropertySource remappedOktaToStandardOAuthPropertySource(Environment environment) {
    +173         Map<String, String> aliasMap = new HashMap<>();
    +174 
    +175         aliasMap.put("spring.security.oauth2.client.registration.okta.client-id", OKTA_OAUTH_CLIENT_ID);
    +176         aliasMap.put("spring.security.oauth2.client.registration.okta.client-secret", OKTA_OAUTH_CLIENT_SECRET);
    +177 
    +178         return new RemappedPropertySource("okta-to-oauth2", aliasMap, environment);
    +179     }
    +180 
    +181     private PropertySource remappedOktaOAuth2ScopesPropertySource(Environment environment) {
    +182 
    +183         Map<String, Object> properties = new HashMap<>();
    +184         properties.put("spring.security.oauth2.client.registration.okta.scope", "${" + OKTA_OAUTH_SCOPES + "}");
    +185         return new OktaScopesPropertySource("okta-scope-remaper", properties, environment);
    +186     }
    +187 
    +188     private PropertySource oktaRedirectUriPropertySource(Environment environment) {
    +189         Map<String, Object> properties = new HashMap<>();
    +190         properties.put("spring.security.oauth2.client.registration.okta.redirect-uri", "{baseUrl}${okta.oauth2.redirect-uri}");
    +191         return new ConditionalMapPropertySource("okta-redirect-uri-helper", properties, environment, "okta.oauth2.redirect-uri");
    +192     }
    +193 
    +194     private PropertySource oktaStaticDiscoveryPropertySource(Environment environment, OIDCMetadata oidcMetadata) {
    +195 
    +196         Map<String, Object> properties = new HashMap<>();
    +197         properties.put("spring.security.oauth2.resourceserver.jwt.issuer-uri", "${" + OKTA_OAUTH_ISSUER + "}");
    +198         properties.put("spring.security.oauth2.resourceserver.jwt.jwk-set-uri", oidcMetadata.getJwkSetURI());
    +199         properties.put("spring.security.oauth2.client.provider.okta.authorization-uri", oidcMetadata.getAuthorizationURI());
    +200         properties.put("spring.security.oauth2.client.provider.okta.token-uri", oidcMetadata.getTokenURI());
    +201         properties.put("spring.security.oauth2.client.provider.okta.user-info-uri", oidcMetadata.getUserInfoURI());
    +202         properties.put("spring.security.oauth2.client.provider.okta.jwk-set-uri", oidcMetadata.getJwkSetURI());
    +203         properties.put("spring.security.oauth2.client.provider.okta.issuer-uri", "${" + OKTA_OAUTH_ISSUER + "}"); // required for OIDC logout
    +204 
    +205         return new ConditionalMapPropertySource("okta-static-discovery", properties, environment, OKTA_OAUTH_ISSUER);
    +206     }
    +207 
    +208     private PropertySource oktaOpaqueTokenPropertySource(Environment environment, OIDCMetadata oidcMetadata) {
    +209 
    +210         Map<String, Object> properties = new HashMap<>();
    +211         properties.put("spring.security.oauth2.resourceserver.opaque-token.client-id", "${" + OKTA_OAUTH_CLIENT_ID + "}");
    +212         properties.put("spring.security.oauth2.resourceserver.opaque-token.client-secret", "${" + OKTA_OAUTH_CLIENT_SECRET + "}");
    +213         properties.put("spring.security.oauth2.resourceserver.opaque-token.introspection-uri", oidcMetadata.getIntrospectionURI());
    +214 
    +215         return new ConditionalMapPropertySource("okta-opaque-token", properties, environment, OKTA_OAUTH_ISSUER, OKTA_OAUTH_CLIENT_SECRET);
    +216     }
    +217 
    +218     @Override
    +219     public int getOrder() {
    +220         return LOWEST_PRECEDENCE - 1;
    +221     }
    +222 
    +223     private static class ConditionalMapPropertySource extends MapPropertySource {
    +224 
    +225         private final Environment environment;
    +226         private final List<String> conditionalProperties;
    +227 
    +228         private ConditionalMapPropertySource(String name, Map<String, Object> source, Environment environment, String... conditionalProperties) {
    +229             super(name, source);
    +230             this.environment = environment;
    +231             this.conditionalProperties = Arrays.asList(conditionalProperties);
    +232         }
    +233 
    +234         @Override
    +235         public Object getProperty(String name) {
    +236 
    +237             return containsProperty(name)
    +238                 ? super.getProperty(name)
    +239                 : null;
    +240         }
    +241 
    +242         @Override
    +243         public boolean containsProperty(String name) {
    +244             return super.containsProperty(name)
    +245                 && conditionalProperties.stream().allMatch(environment::containsProperty);
    +246         }
    +247     }
    +248 
    +249     private static class OktaScopesPropertySource extends MapPropertySource {
    +250 
    +251         private final Environment environment;
    +252 
    +253         private OktaScopesPropertySource(String name, Map<String, Object> source, Environment environment) {
    +254             super(name, source);
    +255             this.environment = environment;
    +256         }
    +257 
    +258         @Override
    +259         public Object getProperty(String name) {
    +260 
    +261             if (containsProperty(name)) {
    +262                 return Binder.get(environment).bind(OKTA_OAUTH_SCOPES, Bindable.setOf(String.class)).orElse(null);
    +263             }
    +264             return null;
    +265         }
    +266     }
    +267 
    +268     /**
    +269      * PropertySource that resolves <code>okta.oauth2.issuer-with-path</code> property from
    +270      * <code>okta.oauth2.issuer</code>. Okta has two types of authorization servers (issuers), and the URL format is
    +271      * slightly different between them, this PropertySource will dynamically return the base URL for each type at
    +272      * property lookup time.
    +273      */
    +274     private static class OktaIssuerWithPathPropertySource extends PropertySource<String> {
    +275 
    +276         private final Environment environment;
    +277         private final boolean isAuth0;
    +278 
    +279         private OktaIssuerWithPathPropertySource(Environment environment, boolean isAuth0) {
    +280             super("okta-issuer-url-resolving-source");
    +281             this.environment = environment;
    +282             this.isAuth0 = isAuth0;
    +283         }
    +284 
    +285         @Override
    +286         public Object getProperty(@NotNull String key) {
    +287 
    +288             // only support this key
    +289             if (OKTA_OAUTH_ISSUER_WITH_PATH.equals(key)) {
    +290                 // issuer could be null (only resolve properties after checking if the key is `OKTA_OAUTH_ISSUER_WITH_PATH`)
    +291                 return Optional.ofNullable(environment.getProperty(OKTA_OAUTH_ISSUER))
    +292                     .map(issuer -> {
    +293                         // Check if URL is an Auth0 org or is an Okta Org Authorization Server
    +294                         if (isAuth0 || issuer.contains("/oauth2")) {
    +295                             // if it's an Auth0 org or if already contains the suffix leave the property as is
    +296                             return issuer;
    +297                         }
    +298                         // for the Okta Org Authorization Server, /oauth2 needs to be appended
    +299                         return issuer + "/oauth2";
    +300                     })
    +301                     // otherwise return null
    +302                     .orElse(null);
    +303             }
    +304 
    +305             return null;
    +306         }
    +307 
    +308         @Override
    +309         public boolean containsProperty(@NotNull String key) {
    +310             return OKTA_OAUTH_ISSUER_WITH_PATH.equals(key) && environment.containsProperty(OKTA_OAUTH_ISSUER);
    +311         }
    +312     }
    +313 }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/env/RemappedPropertySource.html b/3.0.5/xref/com/okta/spring/boot/oauth/env/RemappedPropertySource.html new file mode 100644 index 000000000..d8559e4ed --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/env/RemappedPropertySource.html @@ -0,0 +1,93 @@ + + + +RemappedPropertySource xref + + + +
    +1   /*
    +2    * Copyright 2017 Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.oauth.env;
    +17  
    +18  import org.springframework.core.env.EnumerablePropertySource;
    +19  import org.springframework.core.env.Environment;
    +20  import org.springframework.core.env.PropertySource;
    +21  
    +22  import java.util.HashMap;
    +23  import java.util.Map;
    +24  import java.util.Objects;
    +25  
    +26  /**
    +27   * A {@link PropertySource} that supports aliasing/renaming of keys.  For alias the key {@code foo} to the key
    +28   * {@code {bar}} whenever either of the values are looked up they will return the same value. This differs from setting
    +29   * {@code foo=${bar}}, in that if the value of {@code bar} is {@code null}, {@code null} is returned,
    +30   * if {@code ${bar}} was used, an exception would be thrown due to the unresolvable property {@code bar}.
    +31   * 
    +32   * @since 0.3.0
    +33   */
    +34  final class RemappedPropertySource extends EnumerablePropertySource<String> {
    +35  
    +36      private final Map<String, String> aliasMap = new HashMap<>();
    +37      private final Environment environment;
    +38  
    +39      public RemappedPropertySource(String name, Map<String, String> aliasMap, Environment environment) {
    +40          super(name);
    +41          this.aliasMap.putAll(aliasMap);
    +42          this.environment = environment;
    +43      }
    +44  
    +45      @Override
    +46      public Object getProperty(String name) {
    +47  
    +48          String remappedKey = aliasMap.get(name);
    +49          if (remappedKey != null) {
    +50              return environment.getProperty(remappedKey);
    +51          }
    +52  
    +53          return null;
    +54      }
    +55  
    +56      @Override
    +57      public boolean containsProperty(String name) {
    +58          return getProperty(name) != null;
    +59      }
    +60  
    +61      @Override
    +62      public String[] getPropertyNames() {
    +63          return aliasMap.keySet().toArray(new String[0]);
    +64      }
    +65  
    +66      @Override
    +67      public boolean equals(Object o) {
    +68          if (this == o) return true;
    +69          if (o == null || getClass() != o.getClass()) return false;
    +70          if (!super.equals(o)) return false;
    +71          RemappedPropertySource that = (RemappedPropertySource) o;
    +72          return Objects.equals(aliasMap, that.aliasMap) &&
    +73                  Objects.equals(environment, that.environment);
    +74      }
    +75  
    +76      @Override
    +77      public int hashCode() {
    +78          return Objects.hash(super.hashCode(), aliasMap, environment);
    +79      }
    +80  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/env/package-frame.html b/3.0.5/xref/com/okta/spring/boot/oauth/env/package-frame.html new file mode 100644 index 000000000..d7be1e3bc --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/env/package-frame.html @@ -0,0 +1,39 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.boot.oauth.env + + + +

    com.okta.spring.boot.oauth.env

    + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/env/package-summary.html b/3.0.5/xref/com/okta/spring/boot/oauth/env/package-summary.html new file mode 100644 index 000000000..ac045e476 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/env/package-summary.html @@ -0,0 +1,137 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.boot.oauth.env + + + + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + +
    +

    Package com.okta.spring.boot.oauth.env

    +
    + + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/http/Auth0ClientRequestInterceptor.html b/3.0.5/xref/com/okta/spring/boot/oauth/http/Auth0ClientRequestInterceptor.html new file mode 100644 index 000000000..b748d1fc5 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/http/Auth0ClientRequestInterceptor.html @@ -0,0 +1,90 @@ + + + +Auth0ClientRequestInterceptor xref + + + +
    +1   /*
    +2    * Copyright 2023-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.oauth.http;
    +17  
    +18  import java.io.IOException;
    +19  import java.util.Base64;
    +20  import java.util.HashMap;
    +21  import java.util.Map;
    +22  
    +23  import com.fasterxml.jackson.core.JsonProcessingException;
    +24  import com.fasterxml.jackson.databind.ObjectMapper;
    +25  import com.okta.commons.lang.ApplicationInfo;
    +26  import org.springframework.http.HttpRequest;
    +27  import org.springframework.http.client.ClientHttpRequestExecution;
    +28  import org.springframework.http.client.ClientHttpRequestInterceptor;
    +29  import org.springframework.http.client.ClientHttpResponse;
    +30  
    +31  public final class Auth0ClientRequestInterceptor implements ClientHttpRequestInterceptor {
    +32  
    +33      private static final String clientData;
    +34  
    +35      private static final String AUTH0_CLIENT_HEADER = "Auth0-Client";
    +36      private static final String LIBRARY_NAME_KEY = "name";
    +37      private static final String LIBRARY_NAME = "okta-spring-security";
    +38      private static final String VERSION_KEY = "version";
    +39      private static final String JAVA_KEY = "java";
    +40      private static final String SPRING_KEY = "spring";
    +41      private static final String SPRING_BOOT_KEY = "spring-boot";
    +42      private static final String SPRING_SECURITY_KEY = "spring-security";
    +43      private static final String ENV_KEY = "env";
    +44  
    +45      static {
    +46          ObjectMapper mapper = new ObjectMapper();
    +47  
    +48          Map<String, Object> appInfo = new HashMap<>();
    +49  
    +50          appInfo.put(LIBRARY_NAME_KEY, LIBRARY_NAME);
    +51          appInfo.put(VERSION_KEY, ApplicationInfo.get().get(LIBRARY_NAME));
    +52  
    +53          Map<String, String> envData = new HashMap<>();
    +54          envData.put(JAVA_KEY, ApplicationInfo.get().get(JAVA_KEY));
    +55          envData.put(SPRING_KEY, ApplicationInfo.get().get(SPRING_KEY));
    +56          envData.put(SPRING_BOOT_KEY, ApplicationInfo.get().get(SPRING_BOOT_KEY));
    +57          envData.put(SPRING_SECURITY_KEY, ApplicationInfo.get().get(SPRING_SECURITY_KEY));
    +58  
    +59          appInfo.put(ENV_KEY, envData);
    +60  
    +61          String tempClientData;
    +62  
    +63          try {
    +64              String json = mapper.writeValueAsString(appInfo);
    +65              tempClientData = Base64.getUrlEncoder().encodeToString(json.getBytes());
    +66          } catch (JsonProcessingException ignored) {
    +67              tempClientData = "";
    +68          }
    +69          clientData = tempClientData;
    +70      }
    +71  
    +72      @Override
    +73      public ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution) throws IOException {
    +74          request.getHeaders().add(AUTH0_CLIENT_HEADER, clientData);
    +75          return execution.execute(request, body);
    +76      }
    +77  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/http/UserAgentRequestInterceptor.html b/3.0.5/xref/com/okta/spring/boot/oauth/http/UserAgentRequestInterceptor.html new file mode 100644 index 000000000..d4496da5e --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/http/UserAgentRequestInterceptor.html @@ -0,0 +1,52 @@ + + + +UserAgentRequestInterceptor xref + + + +
    +1   /*
    +2    * Copyright 2018-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.oauth.http;
    +17  
    +18  import com.okta.commons.lang.ApplicationInfo;
    +19  import org.springframework.http.HttpHeaders;
    +20  import org.springframework.http.HttpRequest;
    +21  import org.springframework.http.client.ClientHttpRequestExecution;
    +22  import org.springframework.http.client.ClientHttpRequestInterceptor;
    +23  import org.springframework.http.client.ClientHttpResponse;
    +24  
    +25  import java.io.IOException;
    +26  import java.util.stream.Collectors;
    +27  
    +28  public final class UserAgentRequestInterceptor implements ClientHttpRequestInterceptor {
    +29  
    +30      private final static String USER_AGENT_VALUE = ApplicationInfo.get().entrySet().stream()
    +31              .map(e -> e.getKey() + "/" + e.getValue())
    +32              .collect(Collectors.joining(" "));
    +33  
    +34      @Override
    +35      public ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution) throws IOException {
    +36          request.getHeaders().add(HttpHeaders.USER_AGENT, USER_AGENT_VALUE);
    +37          return execution.execute(request, body);
    +38      }
    +39  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/http/package-frame.html b/3.0.5/xref/com/okta/spring/boot/oauth/http/package-frame.html new file mode 100644 index 000000000..f2163b362 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/http/package-frame.html @@ -0,0 +1,24 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.boot.oauth.http + + + +

    com.okta.spring.boot.oauth.http

    + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/http/package-summary.html b/3.0.5/xref/com/okta/spring/boot/oauth/http/package-summary.html new file mode 100644 index 000000000..37002a01f --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/http/package-summary.html @@ -0,0 +1,112 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.boot.oauth.http + + + + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + +
    +

    Package com.okta.spring.boot.oauth.http

    +
    +
    + +
    + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/package-frame.html b/3.0.5/xref/com/okta/spring/boot/oauth/package-frame.html new file mode 100644 index 000000000..d3e487b06 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/package-frame.html @@ -0,0 +1,72 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.boot.oauth + + + +

    com.okta.spring.boot.oauth

    + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/boot/oauth/package-summary.html b/3.0.5/xref/com/okta/spring/boot/oauth/package-summary.html new file mode 100644 index 000000000..3aca40a57 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/oauth/package-summary.html @@ -0,0 +1,192 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.boot.oauth + + + + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + +
    +

    Package com.okta.spring.boot.oauth

    +
    + + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/boot/sdk/OktaSdkConfig.html b/3.0.5/xref/com/okta/spring/boot/sdk/OktaSdkConfig.html new file mode 100644 index 000000000..03620811e --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/sdk/OktaSdkConfig.html @@ -0,0 +1,150 @@ + + + +OktaSdkConfig xref + + + +
    +1   /*
    +2    * Copyright 2017 Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.sdk;
    +17  
    +18  import com.okta.commons.configcheck.ValidationResponse;
    +19  import com.okta.commons.http.config.Proxy;
    +20  import com.okta.commons.lang.Strings;
    +21  import com.okta.sdk.authc.credentials.ClientCredentials;
    +22  import com.okta.sdk.authc.credentials.TokenClientCredentials;
    +23  import com.okta.sdk.cache.CacheManager;
    +24  import com.okta.sdk.client.AuthorizationMode;
    +25  import com.okta.sdk.client.Client;
    +26  import com.okta.sdk.client.ClientBuilder;
    +27  import com.okta.sdk.client.Clients;
    +28  import com.okta.spring.boot.sdk.cache.SpringCacheManager;
    +29  import com.okta.spring.boot.sdk.config.OktaClientProperties;
    +30  import org.springframework.beans.factory.annotation.Autowired;
    +31  import org.springframework.boot.autoconfigure.AutoConfiguration;
    +32  import org.springframework.boot.autoconfigure.condition.ConditionOutcome;
    +33  import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
    +34  import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
    +35  import org.springframework.boot.autoconfigure.condition.SpringBootCondition;
    +36  import org.springframework.boot.context.properties.EnableConfigurationProperties;
    +37  import org.springframework.context.annotation.Bean;
    +38  import org.springframework.context.annotation.ConditionContext;
    +39  import org.springframework.context.annotation.Conditional;
    +40  import org.springframework.core.type.AnnotatedTypeMetadata;
    +41  
    +42  import static com.okta.commons.configcheck.ConfigurationValidator.validateApiToken;
    +43  import static com.okta.commons.configcheck.ConfigurationValidator.validateOrgUrl;
    +44  
    +45  /**
    +46   * Configure Okta's management SDK, and expose it as a Bean.
    +47   *
    +48   * @since 0.3.0
    +49   */
    +50  @AutoConfiguration
    +51  @Conditional(OktaSdkConfig.OktaApiConditions.class)
    +52  @ConditionalOnClass(Client.class)
    +53  @EnableConfigurationProperties(OktaClientProperties.class)
    +54  public class OktaSdkConfig {
    +55  
    +56      private final OktaClientProperties oktaClientProperties;
    +57      private final org.springframework.cache.CacheManager springCacheManager;
    +58  
    +59      public OktaSdkConfig(OktaClientProperties oktaClientProperties,
    +60                           @Autowired(required = false) org.springframework.cache.CacheManager springCacheManager) {
    +61  
    +62          this.oktaClientProperties = oktaClientProperties;
    +63          this.springCacheManager = springCacheManager;
    +64      }
    +65  
    +66      @Bean
    +67      protected Client oktaSdkClient() {
    +68          ClientBuilder builder = Clients.builder()
    +69                  .setCacheManager(oktaSdkCacheManager())
    +70                  .setAuthorizationMode(AuthorizationMode.SSWS)
    +71                  .setConnectionTimeout(oktaClientProperties.getConnectionTimeout())
    +72                  .setClientCredentials(oktaSdkClientCredentials())
    +73                  .setOrgUrl(oktaClientProperties.getOrgUrl());
    +74  
    +75          Proxy proxy = oktaSdkProxy();
    +76          if (proxy != null) {
    +77              builder.setProxy(oktaSdkProxy());
    +78          }
    +79  
    +80          return builder.build();
    +81      }
    +82  
    +83      private Proxy oktaSdkProxy() {
    +84  
    +85          OktaClientProperties.ClientProxyInfo proxyInfo = oktaClientProperties.getProxy();
    +86          if (proxyInfo == null || !Strings.hasText(proxyInfo.getHostname())) {
    +87              return null;
    +88          }
    +89  
    +90          Proxy proxy;
    +91  
    +92          if (Strings.hasText(proxyInfo.getUsername()) || Strings.hasText(proxyInfo.getPassword())) {
    +93              proxy = new Proxy(proxyInfo.getHostname(), proxyInfo.getPort(), proxyInfo.getUsername(), proxyInfo.getPassword());
    +94          } else {
    +95              proxy = new Proxy(proxyInfo.getHostname(), proxyInfo.getPort());
    +96          }
    +97  
    +98          return proxy;
    +99      }
    +100 
    +101     private CacheManager oktaSdkCacheManager() {
    +102         return (springCacheManager != null) ?
    +103              new SpringCacheManager(springCacheManager) : null;
    +104     }
    +105 
    +106     @Bean
    +107     @ConditionalOnMissingBean
    +108     protected ClientCredentials oktaSdkClientCredentials() {
    +109         return new TokenClientCredentials(oktaClientProperties.getToken());
    +110     }
    +111 
    +112     /**
    +113      * Spring Boot conditional based on the existence of the properties:
    +114      * <pre>{@code
    +115      *  - okta.client.token
    +116      *  - okta.client.orgUrl
    +117      * }</pre>
    +118      */
    +119     static class OktaApiConditions extends SpringBootCondition {
    +120 
    +121         @Override
    +122         public ConditionOutcome getMatchOutcome(ConditionContext context, AnnotatedTypeMetadata metadata) {
    +123             ValidationResponse tokenValidation = validateApiToken(context.getEnvironment().getProperty("okta.client.token"));
    +124             if (!tokenValidation.isValid()) {
    +125                 return ConditionOutcome.noMatch(tokenValidation.getMessage());
    +126             }
    +127 
    +128             ValidationResponse orgUrlValidation = validateOrgUrl(context.getEnvironment().getProperty("okta.client.orgUrl"));
    +129             if (!orgUrlValidation.isValid() &&
    +130                 !validateOrgUrl(context.getEnvironment().getProperty("okta.oauth2.issuer")).isValid()) {
    +131                 return ConditionOutcome.noMatch(orgUrlValidation.getMessage());
    +132             }
    +133 
    +134             return ConditionOutcome.match("Okta API token and orgUrl found");
    +135         }
    +136     }
    +137 }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/sdk/cache/SpringCache.html b/3.0.5/xref/com/okta/spring/boot/sdk/cache/SpringCache.html new file mode 100644 index 000000000..7b50dbb33 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/sdk/cache/SpringCache.html @@ -0,0 +1,76 @@ + + + +SpringCache xref + + + +
    +1   /*
    +2    * Copyright 2015 Stormpath, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.sdk.cache;
    +17  
    +18  import com.okta.commons.lang.Assert;
    +19  import com.okta.sdk.cache.Cache;
    +20  
    +21  /**
    +22   * A Okta SDK {@link com.okta.sdk.cache.Cache} implementation that wraps a Spring {@link org.springframework.cache.Cache Cache} instance.
    +23   * This allows the Okta SDK to use your existing Spring caching mechanism so you only need to configure one
    +24   * caching implementation.
    +25   * <p>
    +26   * This implementation effectively acts as an adapter or bridge from the Okta SDK cache API to the Spring cache API.
    +27   *
    +28   * @param <K> The cache key type
    +29   * @param <V> The cache value type
    +30   * @since 0.3.0
    +31   */
    +32  @SuppressWarnings("unchecked")
    +33  public class SpringCache<K, V> implements Cache<K, V> {
    +34  
    +35      private final org.springframework.cache.Cache springCache;
    +36  
    +37      public SpringCache(org.springframework.cache.Cache springCache) {
    +38          Assert.notNull(springCache, "spring cache instance cannot be null.");
    +39          this.springCache = springCache;
    +40      }
    +41  
    +42      @Override
    +43      public V get(K key) {
    +44          org.springframework.cache.Cache.ValueWrapper vw = springCache.get(key);
    +45          if (vw == null) {
    +46              return null;
    +47          }
    +48          return (V) vw.get();
    +49      }
    +50  
    +51      @Override
    +52      public V put(K key, V value) {
    +53          springCache.put(key, value);
    +54          return get(key);
    +55      }
    +56  
    +57      @Override
    +58      public V remove(K key) {
    +59          V v = get(key);
    +60          springCache.evict(key);
    +61          return v;
    +62      }
    +63  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/sdk/cache/SpringCacheManager.html b/3.0.5/xref/com/okta/spring/boot/sdk/cache/SpringCacheManager.html new file mode 100644 index 000000000..bd81406a3 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/sdk/cache/SpringCacheManager.html @@ -0,0 +1,87 @@ + + + +SpringCacheManager xref + + + +
    +1   /*
    +2    * Copyright 2015 Stormpath, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.sdk.cache;
    +17  
    +18  import com.okta.sdk.cache.Cache;
    +19  import com.okta.sdk.cache.CacheManager;
    +20  import com.okta.commons.lang.Assert;
    +21  import org.springframework.beans.factory.InitializingBean;
    +22  
    +23  /**
    +24   * A Okta SDK {@link com.okta.sdk.cache.CacheManager} implementation that wraps a Spring
    +25   * {@link org.springframework.cache.CacheManager CacheManager} instance.  This allows the Okta SDK to use your
    +26   * existing Spring caching mechanism so you only need to configure one caching implementation.
    +27   * <p>
    +28   * This implementation effectively acts as an adapter or bridge from the Okta SDK cacheManager API to the Spring
    +29   * CacheManager API.
    +30   *
    +31   * @since 0.3.0
    +32   */
    +33  public class SpringCacheManager implements CacheManager, InitializingBean {
    +34  
    +35      private org.springframework.cache.CacheManager springCacheManager;
    +36  
    +37      public SpringCacheManager(){}
    +38  
    +39      /**
    +40       * Constructs a new {@code SpringCacheManager} instance that wraps (delegates to) the specified
    +41       * Spring {@link org.springframework.cache.CacheManager CacheManager} instance.
    +42       *
    +43       * @param springCacheManager the target Spring cache manager to wrap.
    +44       */
    +45      public SpringCacheManager(org.springframework.cache.CacheManager springCacheManager) {
    +46          Assert.notNull(springCacheManager, "CacheManager argument cannot be null.");
    +47          this.springCacheManager = springCacheManager;
    +48      }
    +49  
    +50      public void setSpringCacheManager(org.springframework.cache.CacheManager cacheManager) {
    +51          this.springCacheManager = cacheManager;
    +52      }
    +53  
    +54      @Override
    +55      public void afterPropertiesSet() throws Exception {
    +56          Assert.notNull(springCacheManager, "springCacheManager instance must be specified.");
    +57      }
    +58  
    +59      /**
    +60       * Consults the wrapped Spring {@link org.springframework.cache.CacheManager CacheManager} instance to obtain a
    +61       * named Spring {@link org.springframework.cache.Cache Cache} instance.  The instance is wrapped and returned as a
    +62       * {@link SpringCache} instance, which acts as a bridge/adapter over Spring's existing Cache API.
    +63       *
    +64       * @param name the name of the cache to acquire.
    +65       * @param <K>  The cache key type
    +66       * @param <V>  The cache value type
    +67       * @return the Cache with the given name
    +68       */
    +69      @Override
    +70      public <K, V> Cache<K, V> getCache(String name) {
    +71          org.springframework.cache.Cache springCache = this.springCacheManager.getCache(name);
    +72          return new SpringCache<>(springCache);
    +73      }
    +74  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/sdk/cache/package-frame.html b/3.0.5/xref/com/okta/spring/boot/sdk/cache/package-frame.html new file mode 100644 index 000000000..0ce8e037f --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/sdk/cache/package-frame.html @@ -0,0 +1,24 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.boot.sdk.cache + + + +

    com.okta.spring.boot.sdk.cache

    +
    +

    Classes

    + +
    + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/boot/sdk/cache/package-summary.html b/3.0.5/xref/com/okta/spring/boot/sdk/cache/package-summary.html new file mode 100644 index 000000000..966d8ccd3 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/sdk/cache/package-summary.html @@ -0,0 +1,112 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.boot.sdk.cache + + + + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + +
    +

    Package com.okta.spring.boot.sdk.cache

    +
    +
    + +
    + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/boot/sdk/config/OktaClientProperties.html b/3.0.5/xref/com/okta/spring/boot/sdk/config/OktaClientProperties.html new file mode 100644 index 000000000..6ddec223c --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/sdk/config/OktaClientProperties.html @@ -0,0 +1,118 @@ + + + +OktaClientProperties xref + + + +
    +1   /*
    +2    * Copyright 2017 Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.sdk.config;
    +17  
    +18  import org.springframework.boot.context.properties.ConfigurationProperties;
    +19  
    +20  @ConfigurationProperties("okta.client")
    +21  public class OktaClientProperties {
    +22  
    +23      private String orgUrl;
    +24  
    +25      private String token;
    +26  
    +27      private int connectionTimeout = 30;
    +28  
    +29      private ClientProxyInfo proxy = new ClientProxyInfo();
    +30  
    +31      public String getOrgUrl() {
    +32          return orgUrl;
    +33      }
    +34  
    +35      public void setOrgUrl(String orgUrl) {
    +36          this.orgUrl = orgUrl;
    +37      }
    +38  
    +39      public String getToken() {
    +40          return token;
    +41      }
    +42  
    +43      public void setToken(String token) {
    +44          this.token = token;
    +45      }
    +46  
    +47      public int getConnectionTimeout() {
    +48          return connectionTimeout;
    +49      }
    +50  
    +51      public void setConnectionTimeout(int connectionTimeout) {
    +52          this.connectionTimeout = connectionTimeout;
    +53      }
    +54  
    +55      public ClientProxyInfo getProxy() {
    +56          return proxy;
    +57      }
    +58  
    +59      public void setProxy(ClientProxyInfo proxy) {
    +60          this.proxy = proxy;
    +61      }
    +62  
    +63      public static class ClientProxyInfo {
    +64  
    +65          private String hostname;
    +66  
    +67          private int port;
    +68  
    +69          private String username;
    +70  
    +71          private String password;
    +72  
    +73          public String getHostname() {
    +74              return hostname;
    +75          }
    +76  
    +77          public void setHostname(String hostname) {
    +78              this.hostname = hostname;
    +79          }
    +80  
    +81          public int getPort() {
    +82              return port;
    +83          }
    +84  
    +85          public void setPort(int port) {
    +86              this.port = port;
    +87          }
    +88  
    +89          public String getUsername() {
    +90              return username;
    +91          }
    +92  
    +93          public void setUsername(String username) {
    +94              this.username = username;
    +95          }
    +96  
    +97          public String getPassword() {
    +98              return password;
    +99          }
    +100 
    +101         public void setPassword(String password) {
    +102             this.password = password;
    +103         }
    +104     }
    +105 }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/sdk/config/package-frame.html b/3.0.5/xref/com/okta/spring/boot/sdk/config/package-frame.html new file mode 100644 index 000000000..ac3acbad5 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/sdk/config/package-frame.html @@ -0,0 +1,24 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.boot.sdk.config + + + +

    com.okta.spring.boot.sdk.config

    + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/boot/sdk/config/package-summary.html b/3.0.5/xref/com/okta/spring/boot/sdk/config/package-summary.html new file mode 100644 index 000000000..b4b58ea8a --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/sdk/config/package-summary.html @@ -0,0 +1,112 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.boot.sdk.config + + + + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + +
    +

    Package com.okta.spring.boot.sdk.config

    +
    +
    + +
    + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/boot/sdk/env/OktaSdkPropertiesEnvironmentPostProcessor.html b/3.0.5/xref/com/okta/spring/boot/sdk/env/OktaSdkPropertiesEnvironmentPostProcessor.html new file mode 100644 index 000000000..927079f96 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/sdk/env/OktaSdkPropertiesEnvironmentPostProcessor.html @@ -0,0 +1,107 @@ + + + +OktaSdkPropertiesEnvironmentPostProcessor xref + + + +
    +1   /*
    +2    * Copyright 2017-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.boot.sdk.env;
    +17  
    +18  import org.springframework.boot.SpringApplication;
    +19  import org.springframework.boot.env.EnvironmentPostProcessor;
    +20  import org.springframework.boot.env.YamlPropertySourceLoader;
    +21  import org.springframework.core.Ordered;
    +22  import org.springframework.core.env.ConfigurableEnvironment;
    +23  import org.springframework.core.env.MapPropertySource;
    +24  import org.springframework.core.env.PropertySource;
    +25  import org.springframework.core.io.FileSystemResource;
    +26  import org.springframework.core.io.Resource;
    +27  import org.springframework.util.StringUtils;
    +28  
    +29  import java.io.File;
    +30  import java.io.IOException;
    +31  import java.net.MalformedURLException;
    +32  import java.net.URL;
    +33  import java.util.Collections;
    +34  import java.util.HashMap;
    +35  import java.util.List;
    +36  import java.util.Map;
    +37  
    +38  /**
    +39   * This {@link EnvironmentPostProcessor} configures additional {@link PropertySource}s for {code ~/.okta/okta.yaml} and {code ~/.okta/okta.yml}.
    +40   */
    +41  final class OktaSdkPropertiesEnvironmentPostProcessor implements EnvironmentPostProcessor, Ordered {
    +42  
    +43      private static final String OKTA_CLIENT_ORG_URL = "okta.client.orgUrl";
    +44      private static final String OKTA_OAUTH2_ISSUER = "okta.oauth2.issuer";
    +45  
    +46      @Override
    +47      public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) {
    +48  
    +49          environment.getPropertySources().addLast(loadYaml(new FileSystemResource(new File(System.getProperty("user.home"), ".okta/okta.yml")), false));
    +50          environment.getPropertySources().addLast(loadYaml(new FileSystemResource(new File(System.getProperty("user.home"), ".okta/okta.yaml")), false));
    +51          resolveEmptyOrgUrl(environment);
    +52      }
    +53  
    +54      /**
    +55       * If <code>'okta.client.orgUrl'</code> property is absent, try to resolve it from <code>'okta.oauth2.issuer'</code>.
    +56       */
    +57      private void resolveEmptyOrgUrl(ConfigurableEnvironment environment) {
    +58          if (!StringUtils.hasText(environment.getProperty(OKTA_CLIENT_ORG_URL))) {
    +59              String issuerValue = environment.getProperty(OKTA_OAUTH2_ISSUER);
    +60              if (StringUtils.hasText(issuerValue)) {
    +61                  Map<String, Object> map = new HashMap<>();
    +62                  try {
    +63                      map.put(OKTA_CLIENT_ORG_URL, new URL(new URL(issuerValue), "/").toString());
    +64                  } catch (MalformedURLException e) {
    +65                      throw new RuntimeException(e);
    +66                  }
    +67                  environment.getPropertySources().addLast(new MapPropertySource("issuer-to-orgUrl", map));
    +68              }
    +69          }
    +70      }
    +71  
    +72      private PropertySource<?> loadYaml(Resource resource, boolean required) {
    +73          YamlPropertySourceLoader loader = new YamlPropertySourceLoader();
    +74          if (!resource.exists() && required) {
    +75              throw new IllegalArgumentException("Resource " + resource + " does not exist");
    +76          }
    +77  
    +78          if (resource.exists()) {
    +79              try {
    +80                  List<PropertySource<?>> list = loader.load(resource.getFilename(), resource);
    +81                  return list.get(0);
    +82              } catch (IOException ex) {
    +83                  throw new IllegalStateException("Failed to load yaml configuration from " + resource, ex);
    +84              }
    +85          } else {
    +86              return new MapPropertySource("Missing "+ resource.getFilename(), Collections.emptyMap());
    +87          }
    +88      }
    +89  
    +90      @Override
    +91      public int getOrder() {
    +92          return LOWEST_PRECEDENCE;
    +93      }
    +94  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/boot/sdk/env/package-frame.html b/3.0.5/xref/com/okta/spring/boot/sdk/env/package-frame.html new file mode 100644 index 000000000..55e357d59 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/sdk/env/package-frame.html @@ -0,0 +1,21 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.boot.sdk.env + + + +

    com.okta.spring.boot.sdk.env

    + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/boot/sdk/env/package-summary.html b/3.0.5/xref/com/okta/spring/boot/sdk/env/package-summary.html new file mode 100644 index 000000000..fe55d0882 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/sdk/env/package-summary.html @@ -0,0 +1,107 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.boot.sdk.env + + + + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + +
    +

    Package com.okta.spring.boot.sdk.env

    +
    +
    + +
    + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/boot/sdk/package-frame.html b/3.0.5/xref/com/okta/spring/boot/sdk/package-frame.html new file mode 100644 index 000000000..1fbcedc3a --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/sdk/package-frame.html @@ -0,0 +1,24 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.boot.sdk + + + +

    com.okta.spring.boot.sdk

    +
    +

    Classes

    + +
    + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/boot/sdk/package-summary.html b/3.0.5/xref/com/okta/spring/boot/sdk/package-summary.html new file mode 100644 index 000000000..eccd30242 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/boot/sdk/package-summary.html @@ -0,0 +1,112 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.boot.sdk + + + + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + +
    +

    Package com.okta.spring.boot.sdk

    +
    +
    + +
    + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/example/HostedLoginCodeFlowExampleApplication.html b/3.0.5/xref/com/okta/spring/example/HostedLoginCodeFlowExampleApplication.html new file mode 100644 index 000000000..6e606c7c9 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/example/HostedLoginCodeFlowExampleApplication.html @@ -0,0 +1,64 @@ + + + +HostedLoginCodeFlowExampleApplication xref + + + +
    +1   /*
    +2    * Copyright 2017-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.example;
    +17  
    +18  import org.springframework.boot.SpringApplication;
    +19  import org.springframework.boot.autoconfigure.SpringBootApplication;
    +20  import org.springframework.context.annotation.Bean;
    +21  import org.springframework.context.annotation.Configuration;
    +22  import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity;
    +23  import org.springframework.security.config.annotation.web.builders.HttpSecurity;
    +24  import org.springframework.security.web.SecurityFilterChain;
    +25  
    +26  @SpringBootApplication
    +27  @EnableMethodSecurity(securedEnabled = true)
    +28  public class HostedLoginCodeFlowExampleApplication {
    +29  
    +30      public static void main(String[] args) {
    +31          SpringApplication.run(HostedLoginCodeFlowExampleApplication.class, args);
    +32      }
    +33  
    +34      @Configuration
    +35      static class SecurityConfig {
    +36  
    +37          @Bean
    +38          SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
    +39              http.authorizeHttpRequests((requests) -> requests
    +40                      .requestMatchers("/okta-custom-login", "/css/okta.css").permitAll()
    +41                      .anyRequest().authenticated()
    +42                  )
    +43                  .oauth2Client()
    +44                  .and()
    +45                  .oauth2Login()
    +46                  .and()
    +47                  .oauth2ResourceServer().jwt();
    +48              return http.build();
    +49          }
    +50      }
    +51  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/example/ImplicitFlowApplication.html b/3.0.5/xref/com/okta/spring/example/ImplicitFlowApplication.html new file mode 100644 index 000000000..b103e0e63 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/example/ImplicitFlowApplication.html @@ -0,0 +1,61 @@ + + + +ImplicitFlowApplication xref + + + +
    +1   /*
    +2    * Copyright 2017 Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.example;
    +17  
    +18  import org.springframework.boot.SpringApplication;
    +19  import org.springframework.boot.autoconfigure.SpringBootApplication;
    +20  import org.springframework.context.annotation.Bean;
    +21  import org.springframework.context.annotation.Configuration;
    +22  import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity;
    +23  import org.springframework.security.config.annotation.web.builders.HttpSecurity;
    +24  import org.springframework.security.web.SecurityFilterChain;
    +25  
    +26  @SpringBootApplication
    +27  @EnableMethodSecurity(prePostEnabled = true, securedEnabled = true)
    +28  public class ImplicitFlowApplication {
    +29  
    +30      public static void main(String[] args) {
    +31          SpringApplication.run(ImplicitFlowApplication.class, args);
    +32      }
    +33  
    +34      @Configuration
    +35      static class SecurityConfig {
    +36  
    +37          @Bean
    +38          SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
    +39              http.authorizeHttpRequests((requests) -> requests
    +40                      .requestMatchers("/", "/index.html", "/sign-in-widget-config").permitAll()
    +41                      .anyRequest().authenticated()
    +42                  )
    +43                  .oauth2ResourceServer().jwt();
    +44  
    +45              return http.build();
    +46          }
    +47      }
    +48  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/example/RedirectCodeFlowApplication.html b/3.0.5/xref/com/okta/spring/example/RedirectCodeFlowApplication.html new file mode 100644 index 000000000..618afa461 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/example/RedirectCodeFlowApplication.html @@ -0,0 +1,57 @@ + + + +RedirectCodeFlowApplication xref + + + +
    +1   /*
    +2    * Copyright 2017 Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.example;
    +17  
    +18  import org.springframework.boot.SpringApplication;
    +19  import org.springframework.boot.autoconfigure.SpringBootApplication;
    +20  import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity;
    +21  
    +22  @SpringBootApplication
    +23  @EnableMethodSecurity(securedEnabled = true)
    +24  public class RedirectCodeFlowApplication {
    +25  
    +26      public static void main(String[] args) {
    +27          SpringApplication.run(RedirectCodeFlowApplication.class, args);
    +28      }
    +29  
    +30  // By default Spring configures the equivalent for you. Secure by default.
    +31  
    +32  //    @Configuration
    +33  //    static class SecurityConfig {
    +34  //        @Bean
    +35  //        SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
    +36  //            http.authorizeHttpRequests()
    +37  //                .anyRequest().authenticated()
    +38  //                .and().oauth2Client()
    +39  //                .and().oauth2Login()
    +40  //                .and().oauth2ResourceServer().jwt()
    +41  //            return http.build();
    +42  //        }
    +43  //    }
    +44  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/example/controllers/LoginController.html b/3.0.5/xref/com/okta/spring/example/controllers/LoginController.html new file mode 100644 index 000000000..7d59e3c42 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/example/controllers/LoginController.html @@ -0,0 +1,73 @@ + + + +LoginController xref + + + +
    +1   /*
    +2    * Copyright 2017 Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.example.controllers;
    +17  
    +18  import com.okta.spring.boot.oauth.config.OktaOAuth2Properties;
    +19  import org.springframework.stereotype.Controller;
    +20  import org.springframework.web.bind.annotation.GetMapping;
    +21  import org.springframework.web.bind.annotation.RequestParam;
    +22  import org.springframework.web.servlet.ModelAndView;
    +23  
    +24  import java.net.MalformedURLException;
    +25  import java.net.URL;
    +26  
    +27  @Controller
    +28  public class LoginController {
    +29  
    +30      private static final String STATE = "state";
    +31      private static final String SCOPES = "scopes";
    +32      private static final String OKTA_BASE_URL = "oktaBaseUrl";
    +33      private static final String OKTA_CLIENT_ID = "oktaClientId";
    +34      private static final String REDIRECT_URI = "redirectUri";
    +35      private static final String ISSUER_URI = "issuerUri";
    +36  
    +37      private final OktaOAuth2Properties oktaOAuth2Properties;
    +38  
    +39      public LoginController(OktaOAuth2Properties oktaOAuth2Properties) {
    +40          this.oktaOAuth2Properties = oktaOAuth2Properties;
    +41      }
    +42  
    +43      @GetMapping(value = "/okta-custom-login")
    +44      public ModelAndView login(@RequestParam("state") String state) throws MalformedURLException {
    +45  
    +46          String issuer = oktaOAuth2Properties.getIssuer();
    +47          // the widget needs the base url, just grab the root of the issuer
    +48          String orgUrl = new URL(new URL(issuer), "/").toString();
    +49  
    +50          ModelAndView mav = new ModelAndView("okta/login");
    +51          mav.addObject(STATE, state);
    +52          mav.addObject(SCOPES, oktaOAuth2Properties.getScopes());
    +53          mav.addObject(OKTA_BASE_URL, orgUrl);
    +54          mav.addObject(OKTA_CLIENT_ID, oktaOAuth2Properties.getClientId());
    +55          // from ClientRegistration.redirectUriTemplate, if the template is change you must update this
    +56          mav.addObject(REDIRECT_URI, "/login/oauth2/code/okta");
    +57          mav.addObject(ISSUER_URI, issuer);
    +58          return mav;
    +59      }
    +60  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/example/controllers/SignInWidgetConfigController.html b/3.0.5/xref/com/okta/spring/example/controllers/SignInWidgetConfigController.html new file mode 100644 index 000000000..871649f4a --- /dev/null +++ b/3.0.5/xref/com/okta/spring/example/controllers/SignInWidgetConfigController.html @@ -0,0 +1,68 @@ + + + +SignInWidgetConfigController xref + + + +
    +1   /*
    +2    * Copyright 2017 Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.example.controllers;
    +17  
    +18  import org.springframework.beans.factory.annotation.Value;
    +19  import org.springframework.web.bind.annotation.GetMapping;
    +20  import org.springframework.web.bind.annotation.RestController;
    +21  
    +22  import java.util.LinkedHashMap;
    +23  import java.util.Map;
    +24  
    +25  @RestController
    +26  public class SignInWidgetConfigController {
    +27  
    +28      private final String issuer;
    +29  
    +30      private final  String clientId;
    +31  
    +32      public SignInWidgetConfigController(@Value("${okta.oauth2.issuer}") String issuer,
    +33                                          @Value("${okta.oauth2.client-id}") String clientId) {
    +34          this.issuer = issuer;
    +35          this.clientId = clientId;
    +36      }
    +37  
    +38      @GetMapping("/sign-in-widget-config")
    +39      public WidgetConfig getWidgetConfig() {
    +40          return new WidgetConfig(issuer, clientId);
    +41      }
    +42  
    +43      public static class WidgetConfig {
    +44          public String baseUrl;
    +45          public String clientId;
    +46          public Map<String, Object> authParams = new LinkedHashMap<>();
    +47  
    +48          public WidgetConfig(String issuer, String clientId) {
    +49  
    +50              this.clientId = clientId;
    +51              this.authParams.put("issuer", issuer);
    +52              this.baseUrl = issuer.replaceAll("/oauth2/.*", "");
    +53          }
    +54      }
    +55  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/example/controllers/WelcomeController.html b/3.0.5/xref/com/okta/spring/example/controllers/WelcomeController.html new file mode 100644 index 000000000..16b979835 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/example/controllers/WelcomeController.html @@ -0,0 +1,62 @@ + + + +WelcomeController xref + + + +
    +1   /*
    +2    * Copyright 2017 Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.example.controllers;
    +17  
    +18  import org.springframework.security.access.prepost.PreAuthorize;
    +19  import org.springframework.web.bind.annotation.GetMapping;
    +20  import org.springframework.web.bind.annotation.RestController;
    +21  
    +22  import java.security.Principal;
    +23  
    +24  @RestController
    +25  public class WelcomeController {
    +26  
    +27      /**
    +28       * Simple example REST endpoint that returns a static message.  This controller also serves as an example for checking
    +29       * an OAuth scope and client roles (parsed from an access token).
    +30       * @return a static welcome message
    +31       */
    +32      @GetMapping("/")
    +33      @PreAuthorize("hasAuthority('Everyone')")
    +34      public Welcome getMessageOfTheDay(Principal principal) {
    +35          return new Welcome("The message of the day is boring.", principal.getName());
    +36      }
    +37  
    +38      public static class Welcome {
    +39          public String messageOfTheDay;
    +40          public String username;
    +41  
    +42          public Welcome() {}
    +43  
    +44          public Welcome(String messageOfTheDay, String username) {
    +45              this.messageOfTheDay = messageOfTheDay;
    +46              this.username = username;
    +47          }
    +48      }
    +49  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/example/controllers/package-frame.html b/3.0.5/xref/com/okta/spring/example/controllers/package-frame.html new file mode 100644 index 000000000..12bfbc021 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/example/controllers/package-frame.html @@ -0,0 +1,33 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.example.controllers + + + +

    com.okta.spring.example.controllers

    + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/example/controllers/package-summary.html b/3.0.5/xref/com/okta/spring/example/controllers/package-summary.html new file mode 100644 index 000000000..739ef16b4 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/example/controllers/package-summary.html @@ -0,0 +1,127 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.example.controllers + + + + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + +
    +

    Package com.okta.spring.example.controllers

    +
    +
    + +
    + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/example/package-frame.html b/3.0.5/xref/com/okta/spring/example/package-frame.html new file mode 100644 index 000000000..6a5654bb2 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/example/package-frame.html @@ -0,0 +1,33 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.example + + + +

    com.okta.spring.example

    + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/example/package-summary.html b/3.0.5/xref/com/okta/spring/example/package-summary.html new file mode 100644 index 000000000..e57956d2d --- /dev/null +++ b/3.0.5/xref/com/okta/spring/example/package-summary.html @@ -0,0 +1,127 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.example + + + + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + +
    +

    Package com.okta.spring.example

    +
    + + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/example/webflux/ReactiveApplication.html b/3.0.5/xref/com/okta/spring/example/webflux/ReactiveApplication.html new file mode 100644 index 000000000..15eb4660a --- /dev/null +++ b/3.0.5/xref/com/okta/spring/example/webflux/ReactiveApplication.html @@ -0,0 +1,73 @@ + + + +ReactiveApplication xref + + + +
    +1   /*
    +2    * Copyright 2019-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License");
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.example.webflux;
    +17  
    +18  import org.springframework.boot.SpringApplication;
    +19  import org.springframework.boot.autoconfigure.SpringBootApplication;
    +20  import org.springframework.context.annotation.Bean;
    +21  
    +22  import org.springframework.security.config.annotation.method.configuration.EnableReactiveMethodSecurity;
    +23  import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity;
    +24  import org.springframework.security.config.web.server.ServerHttpSecurity;
    +25  import org.springframework.security.oauth2.client.authentication.OAuth2AuthenticationToken;
    +26  import org.springframework.security.web.server.SecurityWebFilterChain;
    +27  import org.springframework.web.bind.annotation.GetMapping;
    +28  import org.springframework.web.bind.annotation.RestController;
    +29  import reactor.core.publisher.Mono;
    +30  
    +31  @SpringBootApplication
    +32  @RestController
    +33  @EnableReactiveMethodSecurity
    +34  public class ReactiveApplication {
    +35  
    +36      public static void main(String[] args) {
    +37          SpringApplication.run(ReactiveApplication.class, args);
    +38      }
    +39  
    +40      @GetMapping("/userdetails")
    +41      public Mono<OAuth2AuthenticationToken> userDetailsMono(Mono<OAuth2AuthenticationToken> token) {
    +42          return token;
    +43      }
    +44  
    +45      @EnableWebFluxSecurity
    +46      static class SecurityConfiguration {
    +47  
    +48          @Bean
    +49          public SecurityWebFilterChain securityWebFilterChain(ServerHttpSecurity http) {
    +50              return http
    +51                  .authorizeExchange()
    +52                      .anyExchange().authenticated()
    +53                      .and()
    +54                  .oauth2Login()
    +55                      .and()
    +56                  .oauth2ResourceServer()
    +57                      .jwt().and().and().build();
    +58              }
    +59      }
    +60  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/example/webflux/package-frame.html b/3.0.5/xref/com/okta/spring/example/webflux/package-frame.html new file mode 100644 index 000000000..f9948632a --- /dev/null +++ b/3.0.5/xref/com/okta/spring/example/webflux/package-frame.html @@ -0,0 +1,24 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.example.webflux + + + +

    com.okta.spring.example.webflux

    + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/example/webflux/package-summary.html b/3.0.5/xref/com/okta/spring/example/webflux/package-summary.html new file mode 100644 index 000000000..c2d78ebf8 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/example/webflux/package-summary.html @@ -0,0 +1,112 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.example.webflux + + + + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + +
    +

    Package com.okta.spring.example.webflux

    +
    +
    + +
    + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/tests/common/reactive/code/ReactiveRedirectCodeFlowApplication.html b/3.0.5/xref/com/okta/spring/tests/common/reactive/code/ReactiveRedirectCodeFlowApplication.html new file mode 100644 index 000000000..2e04f5418 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/tests/common/reactive/code/ReactiveRedirectCodeFlowApplication.html @@ -0,0 +1,99 @@ + + + +ReactiveRedirectCodeFlowApplication xref + + + +
    +1   /*
    +2    * Copyright 2019-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License")
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.tests.common.reactive.code;
    +17  
    +18  import com.okta.spring.boot.oauth.Okta;
    +19  import org.springframework.boot.SpringApplication;
    +20  import org.springframework.boot.autoconfigure.SpringBootApplication;
    +21  import org.springframework.context.annotation.Bean;
    +22  import org.springframework.security.access.prepost.PreAuthorize;
    +23  import org.springframework.security.config.annotation.method.configuration.EnableReactiveMethodSecurity;
    +24  import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity;
    +25  import org.springframework.security.config.web.server.ServerHttpSecurity;
    +26  import org.springframework.security.oauth2.client.registration.ReactiveClientRegistrationRepository;
    +27  import org.springframework.security.web.server.SecurityWebFilterChain;
    +28  import org.springframework.web.bind.annotation.GetMapping;
    +29  import org.springframework.web.bind.annotation.RestController;
    +30  import reactor.core.publisher.Mono;
    +31  
    +32  import java.security.Principal;
    +33  import java.util.Date;
    +34  
    +35  @SpringBootApplication
    +36  @RestController
    +37  @EnableReactiveMethodSecurity
    +38  public class ReactiveRedirectCodeFlowApplication {
    +39  
    +40      @GetMapping(value = "/")
    +41      public Message getMessageOfTheDay(Principal principal) {
    +42          return new Message("Welcome home, The message of the day is boring: " + principal.getName());
    +43      }
    +44  
    +45      @GetMapping("/everyone")
    +46      @PreAuthorize("hasAuthority('Everyone')")
    +47      public Mono<String> everyoneAccess(Principal principal) {
    +48          return Mono.just("Everyone has Access: " + principal.getName());
    +49      }
    +50  
    +51      @GetMapping("/invalidGroup")
    +52      @PreAuthorize("hasAuthority('invalidGroup')")
    +53      public Mono<String> invalidGroup() {
    +54          throw new IllegalStateException("Test exception, user should not have access to this method");
    +55      }
    +56  
    +57      @EnableWebFluxSecurity
    +58      static class SecurityConfiguration {
    +59  
    +60          @Bean
    +61          public SecurityWebFilterChain securityWebFilterChain(ServerHttpSecurity http, ReactiveClientRegistrationRepository clientRegistrationRepository) {
    +62              http
    +63                  .authorizeExchange()
    +64                  .anyExchange().authenticated()
    +65                  .and()
    +66                  .csrf().disable(); // make testing easier
    +67  
    +68              Okta.configureOAuth2WithPkce(http, clientRegistrationRepository);
    +69  
    +70              return http.build();
    +71          }
    +72      }
    +73  
    +74      static class Message {
    +75          public Date date = new Date();
    +76          public String text;
    +77  
    +78          Message(String text) {
    +79              this.text = text;
    +80          }
    +81      }
    +82  
    +83      public static void main(String[] args) {
    +84          SpringApplication.run(ReactiveRedirectCodeFlowApplication.class, args);
    +85      }
    +86  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/tests/common/reactive/code/package-frame.html b/3.0.5/xref/com/okta/spring/tests/common/reactive/code/package-frame.html new file mode 100644 index 000000000..3f7ad232a --- /dev/null +++ b/3.0.5/xref/com/okta/spring/tests/common/reactive/code/package-frame.html @@ -0,0 +1,27 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.tests.common.reactive.code + + + +

    com.okta.spring.tests.common.reactive.code

    + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/tests/common/reactive/code/package-summary.html b/3.0.5/xref/com/okta/spring/tests/common/reactive/code/package-summary.html new file mode 100644 index 000000000..4ca8d297c --- /dev/null +++ b/3.0.5/xref/com/okta/spring/tests/common/reactive/code/package-summary.html @@ -0,0 +1,117 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.tests.common.reactive.code + + + + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + +
    +

    Package com.okta.spring.tests.common.reactive.code

    +
    + + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/tests/common/reactive/implicit/ReactiveImplicitFlowApplication.html b/3.0.5/xref/com/okta/spring/tests/common/reactive/implicit/ReactiveImplicitFlowApplication.html new file mode 100644 index 000000000..7c6b86ac2 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/tests/common/reactive/implicit/ReactiveImplicitFlowApplication.html @@ -0,0 +1,122 @@ + + + +ReactiveImplicitFlowApplication xref + + + +
    +1   /*
    +2    * Copyright 2019-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License")
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.tests.common.reactive.implicit;
    +17  
    +18  import com.okta.spring.boot.oauth.Okta;
    +19  import org.springframework.boot.SpringApplication;
    +20  import org.springframework.boot.autoconfigure.SpringBootApplication;
    +21  import org.springframework.context.annotation.Bean;
    +22  import org.springframework.security.access.prepost.PreAuthorize;
    +23  import org.springframework.security.config.annotation.method.configuration.EnableReactiveMethodSecurity;
    +24  import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity;
    +25  import org.springframework.security.config.web.server.ServerHttpSecurity;
    +26  import org.springframework.security.core.Authentication;
    +27  import org.springframework.security.web.server.SecurityWebFilterChain;
    +28  import org.springframework.web.bind.annotation.CrossOrigin;
    +29  import org.springframework.web.bind.annotation.GetMapping;
    +30  import org.springframework.web.bind.annotation.RestController;
    +31  import reactor.core.publisher.Mono;
    +32  
    +33  import java.security.Principal;
    +34  import java.util.Arrays;
    +35  import java.util.Date;
    +36  import java.util.HashMap;
    +37  import java.util.Map;
    +38  
    +39  @SpringBootApplication
    +40  @EnableReactiveMethodSecurity
    +41  public class ReactiveImplicitFlowApplication {
    +42  
    +43      public static void main(String[] args) {
    +44          SpringApplication.run(ReactiveImplicitFlowApplication.class, args);
    +45      }
    +46  
    +47      @EnableWebFluxSecurity
    +48      static class SecurityConfiguration {
    +49  
    +50          @Bean
    +51          public SecurityWebFilterChain securityWebFilterChain(ServerHttpSecurity http) {
    +52  
    +53              Okta.configureResourceServer401ResponseBody(http);
    +54  
    +55              return
    +56                  http.authorizeExchange()
    +57                      .anyExchange().authenticated()
    +58                      .and()
    +59                  .oauth2ResourceServer()
    +60                      .jwt().and().and().build();
    +61              }
    +62      }
    +63  
    +64      @RestController
    +65      @CrossOrigin(origins = "http://localhost:8080")
    +66      public static class MessageOfTheDayController {
    +67  
    +68          @GetMapping("/api/userProfile")
    +69          @PreAuthorize("hasAuthority('SCOPE_profile')")
    +70          public Mono<Map<String, Object>> getUserDetails(Authentication authentication) {
    +71              // TODO: validate this is the correct way to get the details
    +72              return Mono.just((Map<String, Object>) authentication.getDetails());
    +73          }
    +74  
    +75          @GetMapping("/api/messages")
    +76          @PreAuthorize("hasAuthority('SCOPE_email')")
    +77          public Mono<Map<String, Object>> messages() {
    +78  
    +79              Map<String, Object> result = new HashMap<>();
    +80              result.put("messages", Arrays.asList(
    +81                      new Message("I am a robot."),
    +82                      new Message("Hello, world!")
    +83              ));
    +84  
    +85              return Mono.just(result);
    +86          }
    +87  
    +88          @GetMapping("/")
    +89          @PreAuthorize("hasAuthority('SCOPE_email')")
    +90          public Mono<String> getMessageOfTheDay(Principal principal) {
    +91              return Mono.just("The message of the day is boring: " + principal.getName());
    +92          }
    +93  
    +94          @GetMapping("/everyone")
    +95          @PreAuthorize("hasAuthority('Everyone')")
    +96          public Mono<String> everyoneAccess(Principal principal) {
    +97              return Mono.just("Everyone has Access: " + principal.getName());
    +98          }
    +99      }
    +100 
    +101     static class Message {
    +102         public Date date = new Date();
    +103         public String text;
    +104 
    +105         Message(String text) {
    +106             this.text = text;
    +107         }
    +108     }
    +109 }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/tests/common/reactive/implicit/package-frame.html b/3.0.5/xref/com/okta/spring/tests/common/reactive/implicit/package-frame.html new file mode 100644 index 000000000..7bdacc0aa --- /dev/null +++ b/3.0.5/xref/com/okta/spring/tests/common/reactive/implicit/package-frame.html @@ -0,0 +1,30 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.tests.common.reactive.implicit + + + +

    com.okta.spring.tests.common.reactive.implicit

    + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/tests/common/reactive/implicit/package-summary.html b/3.0.5/xref/com/okta/spring/tests/common/reactive/implicit/package-summary.html new file mode 100644 index 000000000..b788da1f2 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/tests/common/reactive/implicit/package-summary.html @@ -0,0 +1,122 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.tests.common.reactive.implicit + + + + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + +
    +

    Package com.okta.spring.tests.common.reactive.implicit

    +
    + + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/tests/common/servlet/code/BasicRedirectCodeFlowApplication.html b/3.0.5/xref/com/okta/spring/tests/common/servlet/code/BasicRedirectCodeFlowApplication.html new file mode 100644 index 000000000..e161ade0d --- /dev/null +++ b/3.0.5/xref/com/okta/spring/tests/common/servlet/code/BasicRedirectCodeFlowApplication.html @@ -0,0 +1,85 @@ + + + +BasicRedirectCodeFlowApplication xref + + + +
    +1   /*
    +2    * Copyright 2017 Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License")
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.tests.common.servlet.code;
    +17  
    +18  import org.springframework.boot.SpringApplication;
    +19  import org.springframework.boot.autoconfigure.SpringBootApplication;
    +20  import org.springframework.context.annotation.Bean;
    +21  import org.springframework.security.access.prepost.PreAuthorize;
    +22  import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
    +23  import org.springframework.security.config.annotation.web.builders.HttpSecurity;
    +24  import org.springframework.security.oauth2.client.registration.ClientRegistrationRepository;
    +25  import org.springframework.security.web.SecurityFilterChain;
    +26  import org.springframework.web.bind.annotation.GetMapping;
    +27  import org.springframework.web.bind.annotation.RestController;
    +28  
    +29  import java.security.Principal;
    +30  
    +31  import static com.okta.spring.boot.oauth.Okta.configureOAuth2WithPkce;
    +32  
    +33  @SpringBootApplication
    +34  @RestController
    +35  @EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
    +36  public class BasicRedirectCodeFlowApplication {
    +37  
    +38      @GetMapping("/")
    +39      @PreAuthorize("hasAuthority('SCOPE_email')")
    +40      public String getMessageOfTheDay(Principal principal) {
    +41          return "Welcome home, The message of the day is boring: " + principal.getName();
    +42      }
    +43  
    +44      @GetMapping("/everyone")
    +45      @PreAuthorize("hasAuthority('Everyone')")
    +46      public String everyoneAccess(Principal principal) {
    +47          return "Everyone has Access: " + principal.getName();
    +48      }
    +49  
    +50      @GetMapping("/invalidGroup")
    +51      @PreAuthorize("hasAuthority('invalidGroup')")
    +52      public String invalidGroup() {
    +53          throw new IllegalStateException("Test exception, user should not have access to this method");
    +54      }
    +55  
    +56  // The following isn't needed as the equivalent is provided by Spring Boot Security by default
    +57      @Bean
    +58      SecurityFilterChain oauth2SecurityFilterChain(HttpSecurity http, ClientRegistrationRepository clientRegistrationRepository) throws Exception {
    +59         http.authorizeRequests().anyRequest().authenticated();
    +60         configureOAuth2WithPkce(http, clientRegistrationRepository);
    +61         http.oauth2Client();
    +62  
    +63          // disable csrf to make testing easier
    +64         http.csrf().disable();
    +65  
    +66         return http.build();
    +67      }
    +68  
    +69      public static void main(String[] args) {
    +70          SpringApplication.run(BasicRedirectCodeFlowApplication.class, args);
    +71      }
    +72  }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/tests/common/servlet/code/package-frame.html b/3.0.5/xref/com/okta/spring/tests/common/servlet/code/package-frame.html new file mode 100644 index 000000000..421d98ddd --- /dev/null +++ b/3.0.5/xref/com/okta/spring/tests/common/servlet/code/package-frame.html @@ -0,0 +1,21 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.tests.common.servlet.code + + + +

    com.okta.spring.tests.common.servlet.code

    +
    +

    Classes

    + +
    + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/tests/common/servlet/code/package-summary.html b/3.0.5/xref/com/okta/spring/tests/common/servlet/code/package-summary.html new file mode 100644 index 000000000..8d4aedadf --- /dev/null +++ b/3.0.5/xref/com/okta/spring/tests/common/servlet/code/package-summary.html @@ -0,0 +1,107 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.tests.common.servlet.code + + + + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + +
    +

    Package com.okta.spring.tests.common.servlet.code

    +
    +
    + +
    + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/tests/common/servlet/jwt/BasicJwtResourceServerApplication.html b/3.0.5/xref/com/okta/spring/tests/common/servlet/jwt/BasicJwtResourceServerApplication.html new file mode 100644 index 000000000..9b2a3aa30 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/tests/common/servlet/jwt/BasicJwtResourceServerApplication.html @@ -0,0 +1,119 @@ + + + +BasicJwtResourceServerApplication xref + + + +
    +1   /*
    +2    * Copyright 2017 Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License")
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.tests.common.servlet.jwt;
    +17  
    +18  import com.okta.spring.boot.oauth.Okta;
    +19  import org.springframework.boot.SpringApplication;
    +20  import org.springframework.boot.autoconfigure.SpringBootApplication;
    +21  import org.springframework.context.annotation.Bean;
    +22  import org.springframework.context.annotation.Configuration;
    +23  import org.springframework.security.access.prepost.PreAuthorize;
    +24  import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
    +25  import org.springframework.security.config.annotation.web.builders.HttpSecurity;
    +26  import org.springframework.security.core.Authentication;
    +27  import org.springframework.security.web.SecurityFilterChain;
    +28  import org.springframework.web.bind.annotation.CrossOrigin;
    +29  import org.springframework.web.bind.annotation.GetMapping;
    +30  import org.springframework.web.bind.annotation.RestController;
    +31  
    +32  import java.security.Principal;
    +33  import java.util.Arrays;
    +34  import java.util.HashMap;
    +35  import java.util.Map;
    +36  
    +37  @SpringBootApplication
    +38  @EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
    +39  public class BasicJwtResourceServerApplication {
    +40  
    +41      public static void main(String[] args) {
    +42          SpringApplication.run(BasicJwtResourceServerApplication.class, args);
    +43      }
    +44  
    +45      @Configuration
    +46      static class JwtResourceSecurityConfigurer {
    +47  
    +48          @Bean
    +49          SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
    +50  
    +51              Okta.configureResourceServer401ResponseBody(http);
    +52  
    +53              http.authorizeHttpRequests((requests) -> requests
    +54                      .requestMatchers("/**").permitAll()
    +55                      .anyRequest().authenticated()
    +56                  )
    +57                  .oauth2ResourceServer().jwt();
    +58              return http.build();
    +59          }
    +60      }
    +61  
    +62      @RestController
    +63      @CrossOrigin(origins = "http://localhost:8080")
    +64      public static class MessageOfTheDayController {
    +65  
    +66          @GetMapping("/api/userProfile")
    +67          @PreAuthorize("hasAuthority('SCOPE_profile')")
    +68          public Map<String, Object> getUserDetails(Authentication authentication) {
    +69              // TODO: validate this is the correct way to get the details
    +70              return (Map<String, Object>) authentication.getDetails();
    +71          }
    +72  
    +73          @GetMapping("/api/messages")
    +74          @PreAuthorize("hasAuthority('SCOPE_email')")
    +75          public Map<String, Object> messages() {
    +76  
    +77              Map<String, Object> result = new HashMap<>();
    +78              result.put("messages", Arrays.asList(
    +79                  new Message("I am a robot."),
    +80                  new Message("Hello, world!")
    +81              ));
    +82  
    +83              return result;
    +84          }
    +85  
    +86          @GetMapping("/")
    +87          @PreAuthorize("hasAuthority('SCOPE_email')")
    +88          public String getMessageOfTheDay(Principal principal) {
    +89              return "The message of the day is boring: " + principal.getName();
    +90          }
    +91  
    +92          @GetMapping("/everyone")
    +93          @PreAuthorize("hasAuthority('Everyone')")
    +94          public String everyoneAccess(Principal principal) {
    +95              return "Everyone has Access: " + principal.getName();
    +96          }
    +97      }
    +98  
    +99      static class Message {
    +100         public String text;
    +101 
    +102         Message(String text) {
    +103             this.text = text;
    +104         }
    +105     }
    +106 }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/tests/common/servlet/jwt/package-frame.html b/3.0.5/xref/com/okta/spring/tests/common/servlet/jwt/package-frame.html new file mode 100644 index 000000000..b7dea787c --- /dev/null +++ b/3.0.5/xref/com/okta/spring/tests/common/servlet/jwt/package-frame.html @@ -0,0 +1,30 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.tests.common.servlet.jwt + + + +

    com.okta.spring.tests.common.servlet.jwt

    + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/tests/common/servlet/jwt/package-summary.html b/3.0.5/xref/com/okta/spring/tests/common/servlet/jwt/package-summary.html new file mode 100644 index 000000000..86d56accb --- /dev/null +++ b/3.0.5/xref/com/okta/spring/tests/common/servlet/jwt/package-summary.html @@ -0,0 +1,122 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.tests.common.servlet.jwt + + + + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + +
    +

    Package com.okta.spring.tests.common.servlet.jwt

    +
    + + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/tests/common/servlet/opaquetoken/BasicOpaqueTokenResourceServerApplication.html b/3.0.5/xref/com/okta/spring/tests/common/servlet/opaquetoken/BasicOpaqueTokenResourceServerApplication.html new file mode 100644 index 000000000..a28dd3513 --- /dev/null +++ b/3.0.5/xref/com/okta/spring/tests/common/servlet/opaquetoken/BasicOpaqueTokenResourceServerApplication.html @@ -0,0 +1,125 @@ + + + +BasicOpaqueTokenResourceServerApplication xref + + + +
    +1   /*
    +2    * Copyright 2020-Present Okta, Inc.
    +3    *
    +4    * Licensed under the Apache License, Version 2.0 (the "License")
    +5    * you may not use this file except in compliance with the License.
    +6    * You may obtain a copy of the License at
    +7    *
    +8    *     http://www.apache.org/licenses/LICENSE-2.0
    +9    *
    +10   * Unless required by applicable law or agreed to in writing, software
    +11   * distributed under the License is distributed on an "AS IS" BASIS,
    +12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    +13   * See the License for the specific language governing permissions and
    +14   * limitations under the License.
    +15   */
    +16  package com.okta.spring.tests.common.servlet.opaquetoken;
    +17  
    +18  import com.okta.spring.boot.oauth.Okta;
    +19  import org.springframework.boot.SpringApplication;
    +20  import org.springframework.boot.autoconfigure.SpringBootApplication;
    +21  import org.springframework.context.annotation.Bean;
    +22  import org.springframework.context.annotation.Configuration;
    +23  import org.springframework.security.access.prepost.PreAuthorize;
    +24  import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
    +25  import org.springframework.security.config.annotation.web.builders.HttpSecurity;
    +26  import org.springframework.security.core.Authentication;
    +27  import org.springframework.security.web.SecurityFilterChain;
    +28  import org.springframework.web.bind.annotation.CrossOrigin;
    +29  import org.springframework.web.bind.annotation.GetMapping;
    +30  import org.springframework.web.bind.annotation.RestController;
    +31  
    +32  import java.security.Principal;
    +33  import java.util.Arrays;
    +34  import java.util.HashMap;
    +35  import java.util.Map;
    +36  
    +37  @SpringBootApplication
    +38  @EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
    +39  public class BasicOpaqueTokenResourceServerApplication {
    +40  
    +41      public static void main(String[] args) {
    +42          SpringApplication.run(BasicOpaqueTokenResourceServerApplication.class, args);
    +43      }
    +44  
    +45      @Configuration
    +46      static class OpaqueTokenResourceSecurityConfigurer {
    +47  
    +48          @Bean
    +49          SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
    +50  
    +51              Okta.configureResourceServer401ResponseBody(http);
    +52  
    +53              http.authorizeHttpRequests((requests) -> requests
    +54                      .requestMatchers("/**").permitAll()
    +55                      .anyRequest().authenticated()
    +56                  )
    +57                  .oauth2ResourceServer().opaqueToken();
    +58              return http.build();
    +59          }
    +60      }
    +61  
    +62      @RestController
    +63      @CrossOrigin(origins = "http://localhost:8080")
    +64      public static class MessageOfTheDayController {
    +65  
    +66          @GetMapping("/api/userProfile")
    +67          @PreAuthorize("hasAuthority('SCOPE_profile')")
    +68          public Map<String, Object> getUserDetails(Authentication authentication) {
    +69              // TODO: validate this is the correct way to get the details
    +70              return (Map<String, Object>) authentication.getDetails();
    +71          }
    +72  
    +73          @GetMapping("/api/messages")
    +74          @PreAuthorize("hasAuthority('SCOPE_email')")
    +75          public Map<String, Object> messages() {
    +76  
    +77              Map<String, Object> result = new HashMap<>();
    +78              result.put("messages", Arrays.asList(
    +79                  new Message("I am a robot."),
    +80                  new Message("Hello, world!")
    +81              ));
    +82  
    +83              return result;
    +84          }
    +85  
    +86          @GetMapping("/api/invalidScope")
    +87          @PreAuthorize("hasAuthority('SCOPE_invalid')")
    +88          public String invalidScope() {
    +89              throw new IllegalStateException("Test exception, user should not have access to this method");
    +90          }
    +91  
    +92          @GetMapping("/")
    +93          @PreAuthorize("hasAuthority('SCOPE_email')")
    +94          public String getMessageOfTheDay(Principal principal) {
    +95              return "The message of the day is boring: " + principal.getName();
    +96          }
    +97  
    +98          @GetMapping("/everyone")
    +99          @PreAuthorize("hasAuthority('Everyone')")
    +100         public String everyoneAccess(Principal principal) {
    +101             return "Everyone has Access: " + principal.getName();
    +102         }
    +103     }
    +104 
    +105     static class Message {
    +106         public String text;
    +107 
    +108         Message(String text) {
    +109             this.text = text;
    +110         }
    +111     }
    +112 }
    +
    +
    + + + diff --git a/3.0.5/xref/com/okta/spring/tests/common/servlet/opaquetoken/package-frame.html b/3.0.5/xref/com/okta/spring/tests/common/servlet/opaquetoken/package-frame.html new file mode 100644 index 000000000..ce13dbd6e --- /dev/null +++ b/3.0.5/xref/com/okta/spring/tests/common/servlet/opaquetoken/package-frame.html @@ -0,0 +1,30 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.tests.common.servlet.opaquetoken + + + +

    com.okta.spring.tests.common.servlet.opaquetoken

    + + + \ No newline at end of file diff --git a/3.0.5/xref/com/okta/spring/tests/common/servlet/opaquetoken/package-summary.html b/3.0.5/xref/com/okta/spring/tests/common/servlet/opaquetoken/package-summary.html new file mode 100644 index 000000000..ca57f73ac --- /dev/null +++ b/3.0.5/xref/com/okta/spring/tests/common/servlet/opaquetoken/package-summary.html @@ -0,0 +1,122 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference Package com.okta.spring.tests.common.servlet.opaquetoken + + + + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + +
    +

    Package com.okta.spring.tests.common.servlet.opaquetoken

    +
    + + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + + + + \ No newline at end of file diff --git a/3.0.5/xref/index.html b/3.0.5/xref/index.html new file mode 100644 index 000000000..9d6b9c85b --- /dev/null +++ b/3.0.5/xref/index.html @@ -0,0 +1,75 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference + + + + + + + + + + <h1>Frame Alert</h1> + <p> + You don't have frames. Go <a href="overview-summary.html">here</a> + </p> + + + diff --git a/3.0.5/xref/overview-frame.html b/3.0.5/xref/overview-frame.html new file mode 100644 index 000000000..46496d80c --- /dev/null +++ b/3.0.5/xref/overview-frame.html @@ -0,0 +1,72 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference + + + +

    Okta Spring Boot 3.0.5 Reference

    + + +

     

    + + + diff --git a/3.0.5/xref/overview-summary.html b/3.0.5/xref/overview-summary.html new file mode 100644 index 000000000..c5bef434d --- /dev/null +++ b/3.0.5/xref/overview-summary.html @@ -0,0 +1,172 @@ + + + + + + + Okta Spring Boot 3.0.5 Reference + + + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + +
    +

    Okta Spring Boot 3.0.5 Reference

    +
    + + +
    + + + + +
    Okta Spring Boot 3.0.5 Reference
    +
    + + + + + \ No newline at end of file diff --git a/3.0.5/xref/stylesheet.css b/3.0.5/xref/stylesheet.css new file mode 100644 index 000000000..9e10f29e1 --- /dev/null +++ b/3.0.5/xref/stylesheet.css @@ -0,0 +1,626 @@ +/* Javadoc style sheet */ +/* +Overall document style +*/ + +@import url('resources/fonts/dejavu.css'); + +body { + background-color:#ffffff; + color:#353833; + font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:14px; + margin:0; +} +a:link, a:visited { + text-decoration:none; + color:#4A6782; +} +a:hover, a:focus { + text-decoration:none; + color:#bb7a2a; +} +a:active { + text-decoration:none; + color:#4A6782; +} +a[name] { + color:#353833; +} +a[name]:hover { + text-decoration:none; + color:#353833; +} +pre { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; +} +h1 { + font-size:20px; +} +h2 { + font-size:18px; +} +h3 { + font-size:16px; + font-style:italic; +} +h4 { + font-size:13px; +} +h5 { + font-size:12px; +} +h6 { + font-size:11px; +} +ul { + list-style-type:disc; +} +code, tt { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; + margin-top:8px; + line-height:1.4em; +} +dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; +} +table tr td dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + vertical-align:top; + padding-top:4px; +} +sup { + font-size:8px; +} +/* +Document title and Copyright styles +*/ +.clear { + clear:both; + height:0px; + overflow:hidden; +} +.aboutLanguage { + float:right; + padding:0px 21px; + font-size:11px; + z-index:200; + margin-top:-9px; +} +.legalCopy { + margin-left:.5em; +} +.bar a, .bar a:link, .bar a:visited, .bar a:active { + color:#FFFFFF; + text-decoration:none; +} +.bar a:hover, .bar a:focus { + color:#bb7a2a; +} +.tab { + background-color:#0066FF; + color:#ffffff; + padding:8px; + width:5em; + font-weight:bold; +} +/* +Navigation bar styles +*/ +.bar { + background-color:#4D7A97; + color:#FFFFFF; + padding:.8em .5em .4em .8em; + height:auto;/*height:1.8em;*/ + font-size:11px; + margin:0; +} +.topNav { + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.bottomNav { + margin-top:10px; + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.subNav { + background-color:#dee3e9; + float:left; + width:100%; + overflow:hidden; + font-size:12px; +} +.subNav div { + clear:left; + float:left; + padding:0 0 5px 6px; + text-transform:uppercase; +} +ul.navList, ul.subNavList { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.navList li{ + list-style:none; + float:left; + padding: 5px 6px; + text-transform:uppercase; +} +ul.subNavList li{ + list-style:none; + float:left; +} +.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited { + color:#FFFFFF; + text-decoration:none; + text-transform:uppercase; +} +.topNav a:hover, .bottomNav a:hover { + text-decoration:none; + color:#bb7a2a; + text-transform:uppercase; +} +.navBarCell1Rev { + background-color:#F8981D; + color:#253441; + margin: auto 5px; +} +.skipNav { + position:absolute; + top:auto; + left:-9999px; + overflow:hidden; +} +/* +Page header and footer styles +*/ +.header, .footer { + clear:both; + margin:0 20px; + padding:5px 0 0 0; +} +.indexHeader { + margin:10px; + position:relative; +} +.indexHeader span{ + margin-right:15px; +} +.indexHeader h1 { + font-size:13px; +} +.title { + color:#2c4557; + margin:10px 0; +} +.subTitle { + margin:5px 0 0 0; +} +.header ul { + margin:0 0 15px 0; + padding:0; +} +.footer ul { + margin:20px 0 5px 0; +} +.header ul li, .footer ul li { + list-style:none; + font-size:13px; +} +/* +Heading styles +*/ +div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +ul.blockList ul.blockList ul.blockList li.blockList h3 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +ul.blockList ul.blockList li.blockList h3 { + padding:0; + margin:15px 0; +} +ul.blockList li.blockList h2 { + padding:0px 0 20px 0; +} +/* +Page layout container styles +*/ +.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer { + clear:both; + padding:10px 20px; + position:relative; +} +.indexContainer { + margin:10px; + position:relative; + font-size:12px; +} +.indexContainer h2 { + font-size:13px; + padding:0 0 3px 0; +} +.indexContainer ul { + margin:0; + padding:0; +} +.indexContainer ul li { + list-style:none; + padding-top:2px; +} +.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt { + font-size:12px; + font-weight:bold; + margin:10px 0 0 0; + color:#4E4E4E; +} +.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd { + margin:5px 0 10px 0px; + font-size:14px; + font-family:'DejaVu Sans Mono',monospace; +} +.serializedFormContainer dl.nameValue dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +.serializedFormContainer dl.nameValue dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* +List styles +*/ +ul.horizontal li { + display:inline; + font-size:0.9em; +} +ul.inheritance { + margin:0; + padding:0; +} +ul.inheritance li { + display:inline; + list-style:none; +} +ul.inheritance li ul.inheritance { + margin-left:15px; + padding-left:15px; + padding-top:1px; +} +ul.blockList, ul.blockListLast { + margin:10px 0 10px 0; + padding:0; +} +ul.blockList li.blockList, ul.blockListLast li.blockList { + list-style:none; + margin-bottom:15px; + line-height:1.4; +} +ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList { + padding:0px 20px 5px 10px; + border:1px solid #ededed; + background-color:#f8f8f8; +} +ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList { + padding:0 0 5px 8px; + background-color:#ffffff; + border:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockList { + margin-left:0; + padding-left:0; + padding-bottom:15px; + border:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast { + list-style:none; + border-bottom:none; + padding-bottom:0; +} +table tr td dl, table tr td dl dt, table tr td dl dd { + margin-top:0; + margin-bottom:1px; +} +/* +Table styles +*/ +.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary { + width:100%; + border-left:1px solid #EEE; + border-right:1px solid #EEE; + border-bottom:1px solid #EEE; +} +.overviewSummary, .memberSummary { + padding:0px; +} +.overviewSummary caption, .memberSummary caption, .typeSummary caption, +.useSummary caption, .constantsSummary caption, .deprecatedSummary caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:#253441; + font-weight:bold; + clear:none; + overflow:hidden; + padding:0px; + padding-top:10px; + padding-left:1px; + margin:0px; + white-space:pre; +} +.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link, +.useSummary caption a:link, .constantsSummary caption a:link, .deprecatedSummary caption a:link, +.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover, +.useSummary caption a:hover, .constantsSummary caption a:hover, .deprecatedSummary caption a:hover, +.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active, +.useSummary caption a:active, .constantsSummary caption a:active, .deprecatedSummary caption a:active, +.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited, +.useSummary caption a:visited, .constantsSummary caption a:visited, .deprecatedSummary caption a:visited { + color:#FFFFFF; +} +.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span, +.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + padding-bottom:7px; + display:inline-block; + float:left; + background-color:#F8981D; + border: none; + height:16px; +} +.memberSummary caption span.activeTableTab span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; + display:inline-block; + float:left; + background-color:#F8981D; + height:16px; +} +.memberSummary caption span.tableTab span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; + display:inline-block; + float:left; + background-color:#4D7A97; + height:16px; +} +.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab { + padding-top:0px; + padding-left:0px; + padding-right:0px; + background-image:none; + float:none; + display:inline; +} +.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd, +.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd { + display:none; + width:5px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .activeTableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .tableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + background-color:#4D7A97; + float:left; + +} +.overviewSummary td, .memberSummary td, .typeSummary td, +.useSummary td, .constantsSummary td, .deprecatedSummary td { + text-align:left; + padding:0px 0px 12px 10px; +} +th.colOne, th.colFirst, th.colLast, .useSummary th, .constantsSummary th, +td.colOne, td.colFirst, td.colLast, .useSummary td, .constantsSummary td{ + vertical-align:top; + padding-right:0px; + padding-top:8px; + padding-bottom:3px; +} +th.colFirst, th.colLast, th.colOne, .constantsSummary th { + background:#dee3e9; + text-align:left; + padding:8px 3px 3px 7px; +} +td.colFirst, th.colFirst { + white-space:nowrap; + font-size:13px; +} +td.colLast, th.colLast { + font-size:13px; +} +td.colOne, th.colOne { + font-size:13px; +} +.overviewSummary td.colFirst, .overviewSummary th.colFirst, +.useSummary td.colFirst, .useSummary th.colFirst, +.overviewSummary td.colOne, .overviewSummary th.colOne, +.memberSummary td.colFirst, .memberSummary th.colFirst, +.memberSummary td.colOne, .memberSummary th.colOne, +.typeSummary td.colFirst{ + width:25%; + vertical-align:top; +} +td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover { + font-weight:bold; +} +.tableSubHeadingColor { + background-color:#EEEEFF; +} +.altColor { + background-color:#FFFFFF; +} +.rowColor { + background-color:#EEEEEF; +} +/* +Content styles +*/ +.description pre { + margin-top:0; +} +.deprecatedContent { + margin:0; + padding:10px 0; +} +.docSummary { + padding:0; +} + +ul.blockList ul.blockList ul.blockList li.blockList h3 { + font-style:normal; +} + +div.block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} + +td.colLast div { + padding-top:0px; +} + + +td.colLast a { + padding-bottom:3px; +} +/* +Formatting effect styles +*/ +.sourceLineNo { + color:green; + padding:0 30px 0 0; +} +h1.hidden { + visibility:hidden; + overflow:hidden; + font-size:10px; +} +.block { + display:block; + margin:3px 10px 2px 0px; + color:#474747; +} +.deprecatedLabel, .descfrmTypeLabel, .memberNameLabel, .memberNameLink, +.overrideSpecifyLabel, .packageHierarchyLabel, .paramLabel, .returnLabel, +.seeLabel, .simpleTagLabel, .throwsLabel, .typeNameLabel, .typeNameLink { + font-weight:bold; +} +.deprecationComment, .emphasizedPhrase, .interfaceName { + font-style:italic; +} + +div.block div.block span.deprecationComment, div.block div.block span.emphasizedPhrase, +div.block div.block span.interfaceName { + font-style:normal; +} + +div.contentContainer ul.blockList li.blockList h2{ + padding-bottom:0px; +} + +/* JXR style sheet */ +a.jxr_linenumber:link { + color: #00f; +} + +a.jxr_linenumber:visited { + color: #00a; +} + +a.jxr_linenumber:active, a.jxr_linenumber:hover { + color: #f30 !important; +} + +em.comment { + color: #390; +} + +.string { + color: #009; +} + +#overview { + padding: 2px; + font-size: 90%; + font-family: Helvetica, Arial, sans-serif; +} + +hr { + color: #000; +} + +.jxr_comment +{ + color: #390; +} + +.jxr_javadoccomment +{ + color: #A00; +} + +.jxr_string +{ + color: #009; +} + +.jxr_keyword +{ + color: #000; +} + diff --git a/apidocs/allclasses-index.html b/apidocs/allclasses-index.html index e1f8faf1e..0b5450fd1 100644 --- a/apidocs/allclasses-index.html +++ b/apidocs/allclasses-index.html @@ -1,11 +1,11 @@ - -All Classes and Interfaces (Okta Spring Boot 3.0.4 API) + +All Classes and Interfaces (Okta Spring Boot 3.0.5 API) - + @@ -61,77 +61,79 @@

    All Classes and Interfaces<
    Class
    Description
    - -
    + +
     
    + +
    Allows for custom GrantedAuthoritys to be added to the current OAuth Principal.
    - -
     
    - +
     
    - +
     
    - +
     
    - +
     
    - +
     
    - +
     
    - +
     
    - +
     
    - +
     
    - -
    + +
     
    + +
    Okta + Spring Security utility methods.
    - -
     
    - +
     
    - +
     
    - +
     
    - +
     
    - - diff --git a/apidocs/allpackages-index.html b/apidocs/allpackages-index.html index b1665f3aa..e955a832e 100644 --- a/apidocs/allpackages-index.html +++ b/apidocs/allpackages-index.html @@ -1,11 +1,11 @@ - -All Packages (Okta Spring Boot 3.0.4 API) + +All Packages (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/example/cloud/configserver/ConfigServerApplication.html b/apidocs/com/okta/example/cloud/configserver/ConfigServerApplication.html index ef495e927..b8c0ecbf3 100644 --- a/apidocs/com/okta/example/cloud/configserver/ConfigServerApplication.html +++ b/apidocs/com/okta/example/cloud/configserver/ConfigServerApplication.html @@ -1,11 +1,11 @@ - -ConfigServerApplication (Okta Spring Boot 3.0.4 API) + +ConfigServerApplication (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/example/cloud/configserver/class-use/ConfigServerApplication.html b/apidocs/com/okta/example/cloud/configserver/class-use/ConfigServerApplication.html index 03a9cfc4e..2d28d419a 100644 --- a/apidocs/com/okta/example/cloud/configserver/class-use/ConfigServerApplication.html +++ b/apidocs/com/okta/example/cloud/configserver/class-use/ConfigServerApplication.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.example.cloud.configserver.ConfigServerApplication (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.example.cloud.configserver.ConfigServerApplication (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/example/cloud/configserver/package-summary.html b/apidocs/com/okta/example/cloud/configserver/package-summary.html index 5720f46fa..a3f25bf2f 100644 --- a/apidocs/com/okta/example/cloud/configserver/package-summary.html +++ b/apidocs/com/okta/example/cloud/configserver/package-summary.html @@ -1,11 +1,11 @@ - -com.okta.example.cloud.configserver (Okta Spring Boot 3.0.4 API) + +com.okta.example.cloud.configserver (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/example/cloud/configserver/package-tree.html b/apidocs/com/okta/example/cloud/configserver/package-tree.html index 211e1c685..05ba19714 100644 --- a/apidocs/com/okta/example/cloud/configserver/package-tree.html +++ b/apidocs/com/okta/example/cloud/configserver/package-tree.html @@ -1,11 +1,11 @@ - -com.okta.example.cloud.configserver Class Hierarchy (Okta Spring Boot 3.0.4 API) + +com.okta.example.cloud.configserver Class Hierarchy (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/example/cloud/configserver/package-use.html b/apidocs/com/okta/example/cloud/configserver/package-use.html index 5667fb1a4..a98385840 100644 --- a/apidocs/com/okta/example/cloud/configserver/package-use.html +++ b/apidocs/com/okta/example/cloud/configserver/package-use.html @@ -1,11 +1,11 @@ - -Uses of Package com.okta.example.cloud.configserver (Okta Spring Boot 3.0.4 API) + +Uses of Package com.okta.example.cloud.configserver (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/oauth/AuthoritiesProvider.html b/apidocs/com/okta/spring/boot/oauth/AuthoritiesProvider.html index 7c8039c00..702c99e85 100644 --- a/apidocs/com/okta/spring/boot/oauth/AuthoritiesProvider.html +++ b/apidocs/com/okta/spring/boot/oauth/AuthoritiesProvider.html @@ -1,11 +1,11 @@ - -AuthoritiesProvider (Okta Spring Boot 3.0.4 API) + +AuthoritiesProvider (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/oauth/Okta.html b/apidocs/com/okta/spring/boot/oauth/Okta.html index d45b4b489..619b82623 100644 --- a/apidocs/com/okta/spring/boot/oauth/Okta.html +++ b/apidocs/com/okta/spring/boot/oauth/Okta.html @@ -1,11 +1,11 @@ - -Okta (Okta Spring Boot 3.0.4 API) + +Okta (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/oauth/class-use/AuthoritiesProvider.html b/apidocs/com/okta/spring/boot/oauth/class-use/AuthoritiesProvider.html index 45abaef40..c7b88017b 100644 --- a/apidocs/com/okta/spring/boot/oauth/class-use/AuthoritiesProvider.html +++ b/apidocs/com/okta/spring/boot/oauth/class-use/AuthoritiesProvider.html @@ -1,11 +1,11 @@ - -Uses of Interface com.okta.spring.boot.oauth.AuthoritiesProvider (Okta Spring Boot 3.0.4 API) + +Uses of Interface com.okta.spring.boot.oauth.AuthoritiesProvider (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/oauth/class-use/Okta.html b/apidocs/com/okta/spring/boot/oauth/class-use/Okta.html index b3001114d..d678c9f84 100644 --- a/apidocs/com/okta/spring/boot/oauth/class-use/Okta.html +++ b/apidocs/com/okta/spring/boot/oauth/class-use/Okta.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.boot.oauth.Okta (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.boot.oauth.Okta (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/oauth/config/OktaOAuth2Properties.Proxy.html b/apidocs/com/okta/spring/boot/oauth/config/OktaOAuth2Properties.Proxy.html index 6aea21657..bfb03bcdd 100644 --- a/apidocs/com/okta/spring/boot/oauth/config/OktaOAuth2Properties.Proxy.html +++ b/apidocs/com/okta/spring/boot/oauth/config/OktaOAuth2Properties.Proxy.html @@ -1,11 +1,11 @@ - -OktaOAuth2Properties.Proxy (Okta Spring Boot 3.0.4 API) + +OktaOAuth2Properties.Proxy (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/oauth/config/OktaOAuth2Properties.html b/apidocs/com/okta/spring/boot/oauth/config/OktaOAuth2Properties.html index abd25da20..9796c033c 100644 --- a/apidocs/com/okta/spring/boot/oauth/config/OktaOAuth2Properties.html +++ b/apidocs/com/okta/spring/boot/oauth/config/OktaOAuth2Properties.html @@ -1,11 +1,11 @@ - -OktaOAuth2Properties (Okta Spring Boot 3.0.4 API) + +OktaOAuth2Properties (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/oauth/config/class-use/OktaOAuth2Properties.Proxy.html b/apidocs/com/okta/spring/boot/oauth/config/class-use/OktaOAuth2Properties.Proxy.html index 6e60dea0f..025974627 100644 --- a/apidocs/com/okta/spring/boot/oauth/config/class-use/OktaOAuth2Properties.Proxy.html +++ b/apidocs/com/okta/spring/boot/oauth/config/class-use/OktaOAuth2Properties.Proxy.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.boot.oauth.config.OktaOAuth2Properties.Proxy (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.boot.oauth.config.OktaOAuth2Properties.Proxy (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/oauth/config/class-use/OktaOAuth2Properties.html b/apidocs/com/okta/spring/boot/oauth/config/class-use/OktaOAuth2Properties.html index 489dc535c..71db1bb79 100644 --- a/apidocs/com/okta/spring/boot/oauth/config/class-use/OktaOAuth2Properties.html +++ b/apidocs/com/okta/spring/boot/oauth/config/class-use/OktaOAuth2Properties.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.boot.oauth.config.OktaOAuth2Properties (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.boot.oauth.config.OktaOAuth2Properties (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/oauth/config/package-summary.html b/apidocs/com/okta/spring/boot/oauth/config/package-summary.html index addafac45..46104b40d 100644 --- a/apidocs/com/okta/spring/boot/oauth/config/package-summary.html +++ b/apidocs/com/okta/spring/boot/oauth/config/package-summary.html @@ -1,11 +1,11 @@ - -com.okta.spring.boot.oauth.config (Okta Spring Boot 3.0.4 API) + +com.okta.spring.boot.oauth.config (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/oauth/config/package-tree.html b/apidocs/com/okta/spring/boot/oauth/config/package-tree.html index 607d6343c..bbcda1149 100644 --- a/apidocs/com/okta/spring/boot/oauth/config/package-tree.html +++ b/apidocs/com/okta/spring/boot/oauth/config/package-tree.html @@ -1,11 +1,11 @@ - -com.okta.spring.boot.oauth.config Class Hierarchy (Okta Spring Boot 3.0.4 API) + +com.okta.spring.boot.oauth.config Class Hierarchy (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/oauth/config/package-use.html b/apidocs/com/okta/spring/boot/oauth/config/package-use.html index 2d93fc74f..4a17b747d 100644 --- a/apidocs/com/okta/spring/boot/oauth/config/package-use.html +++ b/apidocs/com/okta/spring/boot/oauth/config/package-use.html @@ -1,11 +1,11 @@ - -Uses of Package com.okta.spring.boot.oauth.config (Okta Spring Boot 3.0.4 API) + +Uses of Package com.okta.spring.boot.oauth.config (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/oauth/env/OIDCMetadata.html b/apidocs/com/okta/spring/boot/oauth/env/OIDCMetadata.html index 4cc7dc7e3..4cd7a7f7a 100644 --- a/apidocs/com/okta/spring/boot/oauth/env/OIDCMetadata.html +++ b/apidocs/com/okta/spring/boot/oauth/env/OIDCMetadata.html @@ -1,11 +1,11 @@ - -OIDCMetadata (Okta Spring Boot 3.0.4 API) + +OIDCMetadata (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/oauth/env/OktaEnvironmentPostProcessorApplicationListener.html b/apidocs/com/okta/spring/boot/oauth/env/OktaEnvironmentPostProcessorApplicationListener.html index d9164269c..1c1eff066 100644 --- a/apidocs/com/okta/spring/boot/oauth/env/OktaEnvironmentPostProcessorApplicationListener.html +++ b/apidocs/com/okta/spring/boot/oauth/env/OktaEnvironmentPostProcessorApplicationListener.html @@ -1,11 +1,11 @@ - -OktaEnvironmentPostProcessorApplicationListener (Okta Spring Boot 3.0.4 API) + +OktaEnvironmentPostProcessorApplicationListener (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/oauth/env/class-use/OIDCMetadata.html b/apidocs/com/okta/spring/boot/oauth/env/class-use/OIDCMetadata.html index 8581c2603..bc90da128 100644 --- a/apidocs/com/okta/spring/boot/oauth/env/class-use/OIDCMetadata.html +++ b/apidocs/com/okta/spring/boot/oauth/env/class-use/OIDCMetadata.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.boot.oauth.env.OIDCMetadata (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.boot.oauth.env.OIDCMetadata (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/oauth/env/class-use/OktaEnvironmentPostProcessorApplicationListener.html b/apidocs/com/okta/spring/boot/oauth/env/class-use/OktaEnvironmentPostProcessorApplicationListener.html index da8de2e20..700ce5a44 100644 --- a/apidocs/com/okta/spring/boot/oauth/env/class-use/OktaEnvironmentPostProcessorApplicationListener.html +++ b/apidocs/com/okta/spring/boot/oauth/env/class-use/OktaEnvironmentPostProcessorApplicationListener.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.boot.oauth.env.OktaEnvironmentPostProcessorApplicationListener (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.boot.oauth.env.OktaEnvironmentPostProcessorApplicationListener (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/oauth/env/package-summary.html b/apidocs/com/okta/spring/boot/oauth/env/package-summary.html index 2d81827c6..5e8242ea5 100644 --- a/apidocs/com/okta/spring/boot/oauth/env/package-summary.html +++ b/apidocs/com/okta/spring/boot/oauth/env/package-summary.html @@ -1,11 +1,11 @@ - -com.okta.spring.boot.oauth.env (Okta Spring Boot 3.0.4 API) + +com.okta.spring.boot.oauth.env (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/oauth/env/package-tree.html b/apidocs/com/okta/spring/boot/oauth/env/package-tree.html index 87cb5299b..2f8497797 100644 --- a/apidocs/com/okta/spring/boot/oauth/env/package-tree.html +++ b/apidocs/com/okta/spring/boot/oauth/env/package-tree.html @@ -1,11 +1,11 @@ - -com.okta.spring.boot.oauth.env Class Hierarchy (Okta Spring Boot 3.0.4 API) + +com.okta.spring.boot.oauth.env Class Hierarchy (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/oauth/env/package-use.html b/apidocs/com/okta/spring/boot/oauth/env/package-use.html index e50d390c9..4481ae8ed 100644 --- a/apidocs/com/okta/spring/boot/oauth/env/package-use.html +++ b/apidocs/com/okta/spring/boot/oauth/env/package-use.html @@ -1,11 +1,11 @@ - -Uses of Package com.okta.spring.boot.oauth.env (Okta Spring Boot 3.0.4 API) + +Uses of Package com.okta.spring.boot.oauth.env (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/oauth/http/Auth0ClientRequestInterceptor.html b/apidocs/com/okta/spring/boot/oauth/http/Auth0ClientRequestInterceptor.html new file mode 100644 index 000000000..a09d5a690 --- /dev/null +++ b/apidocs/com/okta/spring/boot/oauth/http/Auth0ClientRequestInterceptor.html @@ -0,0 +1,179 @@ + + + + +Auth0ClientRequestInterceptor (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
    + +
    +
    + +
    + +

    Class Auth0ClientRequestInterceptor

    +
    +
    java.lang.Object +
    com.okta.spring.boot.oauth.http.Auth0ClientRequestInterceptor
    +
    +
    +
    +
    All Implemented Interfaces:
    +
    org.springframework.http.client.ClientHttpRequestInterceptor
    +
    +
    +
    public final class Auth0ClientRequestInterceptor +extends Object +implements org.springframework.http.client.ClientHttpRequestInterceptor
    +
    +
    +
      + +
    • +
      +

      Constructor Summary

      +
      Constructors
      +
      +
      Constructor
      +
      Description
      + +
       
      +
      +
      +
    • + +
    • +
      +

      Method Summary

      +
      +
      +
      +
      +
      Modifier and Type
      +
      Method
      +
      Description
      +
      org.springframework.http.client.ClientHttpResponse
      +
      intercept(org.springframework.http.HttpRequest request, + byte[] body, + org.springframework.http.client.ClientHttpRequestExecution execution)
      +
       
      +
      +
      +
      +
      +

      Methods inherited from class java.lang.Object

      +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      +
      +
    • +
    +
    +
    +
      + +
    • +
      +

      Constructor Details

      +
        +
      • +
        +

        Auth0ClientRequestInterceptor

        +
        public Auth0ClientRequestInterceptor()
        +
        +
      • +
      +
      +
    • + +
    • +
      +

      Method Details

      +
        +
      • +
        +

        intercept

        +
        public org.springframework.http.client.ClientHttpResponse intercept(org.springframework.http.HttpRequest request, + byte[] body, + org.springframework.http.client.ClientHttpRequestExecution execution) + throws IOException
        +
        +
        Specified by:
        +
        intercept in interface org.springframework.http.client.ClientHttpRequestInterceptor
        +
        Throws:
        +
        IOException
        +
        +
        +
      • +
      +
      +
    • +
    +
    + +
    +
    +
    + +
    +
    +
    + + diff --git a/apidocs/com/okta/spring/boot/oauth/http/UserAgentRequestInterceptor.html b/apidocs/com/okta/spring/boot/oauth/http/UserAgentRequestInterceptor.html index a63c9036f..73bd74164 100644 --- a/apidocs/com/okta/spring/boot/oauth/http/UserAgentRequestInterceptor.html +++ b/apidocs/com/okta/spring/boot/oauth/http/UserAgentRequestInterceptor.html @@ -1,11 +1,11 @@ - -UserAgentRequestInterceptor (Okta Spring Boot 3.0.4 API) + +UserAgentRequestInterceptor (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/oauth/http/class-use/Auth0ClientRequestInterceptor.html b/apidocs/com/okta/spring/boot/oauth/http/class-use/Auth0ClientRequestInterceptor.html new file mode 100644 index 000000000..ea3b73810 --- /dev/null +++ b/apidocs/com/okta/spring/boot/oauth/http/class-use/Auth0ClientRequestInterceptor.html @@ -0,0 +1,62 @@ + + + + +Uses of Class com.okta.spring.boot.oauth.http.Auth0ClientRequestInterceptor (Okta Spring Boot 3.0.5 API) + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Uses of Class
    com.okta.spring.boot.oauth.http.Auth0ClientRequestInterceptor

    +
    +No usage of com.okta.spring.boot.oauth.http.Auth0ClientRequestInterceptor
    +
    +
    + +
    +
    +
    + + diff --git a/apidocs/com/okta/spring/boot/oauth/http/class-use/UserAgentRequestInterceptor.html b/apidocs/com/okta/spring/boot/oauth/http/class-use/UserAgentRequestInterceptor.html index 1fdf3fc88..c48592028 100644 --- a/apidocs/com/okta/spring/boot/oauth/http/class-use/UserAgentRequestInterceptor.html +++ b/apidocs/com/okta/spring/boot/oauth/http/class-use/UserAgentRequestInterceptor.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.boot.oauth.http.UserAgentRequestInterceptor (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.boot.oauth.http.UserAgentRequestInterceptor (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/oauth/http/package-summary.html b/apidocs/com/okta/spring/boot/oauth/http/package-summary.html index a0cbd9305..6e5d30da3 100644 --- a/apidocs/com/okta/spring/boot/oauth/http/package-summary.html +++ b/apidocs/com/okta/spring/boot/oauth/http/package-summary.html @@ -1,11 +1,11 @@ - -com.okta.spring.boot.oauth.http (Okta Spring Boot 3.0.4 API) + +com.okta.spring.boot.oauth.http (Okta Spring Boot 3.0.5 API) - + @@ -84,8 +84,10 @@

    Package com.ok

  • diff --git a/apidocs/com/okta/spring/boot/oauth/http/package-tree.html b/apidocs/com/okta/spring/boot/oauth/http/package-tree.html index 50625d36e..d093e62cf 100644 --- a/apidocs/com/okta/spring/boot/oauth/http/package-tree.html +++ b/apidocs/com/okta/spring/boot/oauth/http/package-tree.html @@ -1,11 +1,11 @@ - -com.okta.spring.boot.oauth.http Class Hierarchy (Okta Spring Boot 3.0.4 API) + +com.okta.spring.boot.oauth.http Class Hierarchy (Okta Spring Boot 3.0.5 API) - + @@ -60,6 +60,7 @@

    Class Hierarchy

    • java.lang.Object
    • diff --git a/apidocs/com/okta/spring/boot/oauth/http/package-use.html b/apidocs/com/okta/spring/boot/oauth/http/package-use.html index de9ebd89d..04ff27331 100644 --- a/apidocs/com/okta/spring/boot/oauth/http/package-use.html +++ b/apidocs/com/okta/spring/boot/oauth/http/package-use.html @@ -1,11 +1,11 @@ - -Uses of Package com.okta.spring.boot.oauth.http (Okta Spring Boot 3.0.4 API) + +Uses of Package com.okta.spring.boot.oauth.http (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/oauth/package-summary.html b/apidocs/com/okta/spring/boot/oauth/package-summary.html index 05a848ac8..1993525f3 100644 --- a/apidocs/com/okta/spring/boot/oauth/package-summary.html +++ b/apidocs/com/okta/spring/boot/oauth/package-summary.html @@ -1,11 +1,11 @@ - -com.okta.spring.boot.oauth (Okta Spring Boot 3.0.4 API) + +com.okta.spring.boot.oauth (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/oauth/package-tree.html b/apidocs/com/okta/spring/boot/oauth/package-tree.html index 0af8fce2a..0a47794ea 100644 --- a/apidocs/com/okta/spring/boot/oauth/package-tree.html +++ b/apidocs/com/okta/spring/boot/oauth/package-tree.html @@ -1,11 +1,11 @@ - -com.okta.spring.boot.oauth Class Hierarchy (Okta Spring Boot 3.0.4 API) + +com.okta.spring.boot.oauth Class Hierarchy (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/oauth/package-use.html b/apidocs/com/okta/spring/boot/oauth/package-use.html index 2065552be..33a7b1e23 100644 --- a/apidocs/com/okta/spring/boot/oauth/package-use.html +++ b/apidocs/com/okta/spring/boot/oauth/package-use.html @@ -1,11 +1,11 @@ - -Uses of Package com.okta.spring.boot.oauth (Okta Spring Boot 3.0.4 API) + +Uses of Package com.okta.spring.boot.oauth (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/sdk/OktaSdkConfig.html b/apidocs/com/okta/spring/boot/sdk/OktaSdkConfig.html index d898494e0..2bba6172a 100644 --- a/apidocs/com/okta/spring/boot/sdk/OktaSdkConfig.html +++ b/apidocs/com/okta/spring/boot/sdk/OktaSdkConfig.html @@ -1,11 +1,11 @@ - -OktaSdkConfig (Okta Spring Boot 3.0.4 API) + +OktaSdkConfig (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/sdk/cache/SpringCache.html b/apidocs/com/okta/spring/boot/sdk/cache/SpringCache.html index 9474b8c37..55265e5ec 100644 --- a/apidocs/com/okta/spring/boot/sdk/cache/SpringCache.html +++ b/apidocs/com/okta/spring/boot/sdk/cache/SpringCache.html @@ -1,11 +1,11 @@ - -SpringCache (Okta Spring Boot 3.0.4 API) + +SpringCache (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/sdk/cache/SpringCacheManager.html b/apidocs/com/okta/spring/boot/sdk/cache/SpringCacheManager.html index 4ef66c7ae..1af8d6e68 100644 --- a/apidocs/com/okta/spring/boot/sdk/cache/SpringCacheManager.html +++ b/apidocs/com/okta/spring/boot/sdk/cache/SpringCacheManager.html @@ -1,11 +1,11 @@ - -SpringCacheManager (Okta Spring Boot 3.0.4 API) + +SpringCacheManager (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/sdk/cache/class-use/SpringCache.html b/apidocs/com/okta/spring/boot/sdk/cache/class-use/SpringCache.html index addb3ff43..334d64de0 100644 --- a/apidocs/com/okta/spring/boot/sdk/cache/class-use/SpringCache.html +++ b/apidocs/com/okta/spring/boot/sdk/cache/class-use/SpringCache.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.boot.sdk.cache.SpringCache (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.boot.sdk.cache.SpringCache (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/sdk/cache/class-use/SpringCacheManager.html b/apidocs/com/okta/spring/boot/sdk/cache/class-use/SpringCacheManager.html index 1919b1b2e..6fb4dd71f 100644 --- a/apidocs/com/okta/spring/boot/sdk/cache/class-use/SpringCacheManager.html +++ b/apidocs/com/okta/spring/boot/sdk/cache/class-use/SpringCacheManager.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.boot.sdk.cache.SpringCacheManager (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.boot.sdk.cache.SpringCacheManager (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/sdk/cache/package-summary.html b/apidocs/com/okta/spring/boot/sdk/cache/package-summary.html index 6615df8ab..29186a026 100644 --- a/apidocs/com/okta/spring/boot/sdk/cache/package-summary.html +++ b/apidocs/com/okta/spring/boot/sdk/cache/package-summary.html @@ -1,11 +1,11 @@ - -com.okta.spring.boot.sdk.cache (Okta Spring Boot 3.0.4 API) + +com.okta.spring.boot.sdk.cache (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/sdk/cache/package-tree.html b/apidocs/com/okta/spring/boot/sdk/cache/package-tree.html index 7c589f022..43486a56e 100644 --- a/apidocs/com/okta/spring/boot/sdk/cache/package-tree.html +++ b/apidocs/com/okta/spring/boot/sdk/cache/package-tree.html @@ -1,11 +1,11 @@ - -com.okta.spring.boot.sdk.cache Class Hierarchy (Okta Spring Boot 3.0.4 API) + +com.okta.spring.boot.sdk.cache Class Hierarchy (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/sdk/cache/package-use.html b/apidocs/com/okta/spring/boot/sdk/cache/package-use.html index fb5ff3595..8c09f3107 100644 --- a/apidocs/com/okta/spring/boot/sdk/cache/package-use.html +++ b/apidocs/com/okta/spring/boot/sdk/cache/package-use.html @@ -1,11 +1,11 @@ - -Uses of Package com.okta.spring.boot.sdk.cache (Okta Spring Boot 3.0.4 API) + +Uses of Package com.okta.spring.boot.sdk.cache (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/sdk/class-use/OktaSdkConfig.html b/apidocs/com/okta/spring/boot/sdk/class-use/OktaSdkConfig.html index 12d94848c..975b2377f 100644 --- a/apidocs/com/okta/spring/boot/sdk/class-use/OktaSdkConfig.html +++ b/apidocs/com/okta/spring/boot/sdk/class-use/OktaSdkConfig.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.boot.sdk.OktaSdkConfig (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.boot.sdk.OktaSdkConfig (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/sdk/config/OktaClientProperties.ClientProxyInfo.html b/apidocs/com/okta/spring/boot/sdk/config/OktaClientProperties.ClientProxyInfo.html index 02e9cf92a..00277116d 100644 --- a/apidocs/com/okta/spring/boot/sdk/config/OktaClientProperties.ClientProxyInfo.html +++ b/apidocs/com/okta/spring/boot/sdk/config/OktaClientProperties.ClientProxyInfo.html @@ -1,11 +1,11 @@ - -OktaClientProperties.ClientProxyInfo (Okta Spring Boot 3.0.4 API) + +OktaClientProperties.ClientProxyInfo (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/sdk/config/OktaClientProperties.html b/apidocs/com/okta/spring/boot/sdk/config/OktaClientProperties.html index adc9a6e4e..5d39ccd83 100644 --- a/apidocs/com/okta/spring/boot/sdk/config/OktaClientProperties.html +++ b/apidocs/com/okta/spring/boot/sdk/config/OktaClientProperties.html @@ -1,11 +1,11 @@ - -OktaClientProperties (Okta Spring Boot 3.0.4 API) + +OktaClientProperties (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/sdk/config/class-use/OktaClientProperties.ClientProxyInfo.html b/apidocs/com/okta/spring/boot/sdk/config/class-use/OktaClientProperties.ClientProxyInfo.html index 340418f13..485733745 100644 --- a/apidocs/com/okta/spring/boot/sdk/config/class-use/OktaClientProperties.ClientProxyInfo.html +++ b/apidocs/com/okta/spring/boot/sdk/config/class-use/OktaClientProperties.ClientProxyInfo.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.boot.sdk.config.OktaClientProperties.ClientProxyInfo (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.boot.sdk.config.OktaClientProperties.ClientProxyInfo (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/sdk/config/class-use/OktaClientProperties.html b/apidocs/com/okta/spring/boot/sdk/config/class-use/OktaClientProperties.html index a7b8e57e8..7d2b6dc28 100644 --- a/apidocs/com/okta/spring/boot/sdk/config/class-use/OktaClientProperties.html +++ b/apidocs/com/okta/spring/boot/sdk/config/class-use/OktaClientProperties.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.boot.sdk.config.OktaClientProperties (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.boot.sdk.config.OktaClientProperties (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/sdk/config/package-summary.html b/apidocs/com/okta/spring/boot/sdk/config/package-summary.html index c9d7666ad..61fd786e6 100644 --- a/apidocs/com/okta/spring/boot/sdk/config/package-summary.html +++ b/apidocs/com/okta/spring/boot/sdk/config/package-summary.html @@ -1,11 +1,11 @@ - -com.okta.spring.boot.sdk.config (Okta Spring Boot 3.0.4 API) + +com.okta.spring.boot.sdk.config (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/sdk/config/package-tree.html b/apidocs/com/okta/spring/boot/sdk/config/package-tree.html index f8064626e..7d741e1cb 100644 --- a/apidocs/com/okta/spring/boot/sdk/config/package-tree.html +++ b/apidocs/com/okta/spring/boot/sdk/config/package-tree.html @@ -1,11 +1,11 @@ - -com.okta.spring.boot.sdk.config Class Hierarchy (Okta Spring Boot 3.0.4 API) + +com.okta.spring.boot.sdk.config Class Hierarchy (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/sdk/config/package-use.html b/apidocs/com/okta/spring/boot/sdk/config/package-use.html index 593854707..37241ee25 100644 --- a/apidocs/com/okta/spring/boot/sdk/config/package-use.html +++ b/apidocs/com/okta/spring/boot/sdk/config/package-use.html @@ -1,11 +1,11 @@ - -Uses of Package com.okta.spring.boot.sdk.config (Okta Spring Boot 3.0.4 API) + +Uses of Package com.okta.spring.boot.sdk.config (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/sdk/env/package-summary.html b/apidocs/com/okta/spring/boot/sdk/env/package-summary.html index ca69eea98..1b3a9e426 100644 --- a/apidocs/com/okta/spring/boot/sdk/env/package-summary.html +++ b/apidocs/com/okta/spring/boot/sdk/env/package-summary.html @@ -1,11 +1,11 @@ - -com.okta.spring.boot.sdk.env (Okta Spring Boot 3.0.4 API) + +com.okta.spring.boot.sdk.env (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/sdk/env/package-tree.html b/apidocs/com/okta/spring/boot/sdk/env/package-tree.html index 1b8c42c13..c36a5afa2 100644 --- a/apidocs/com/okta/spring/boot/sdk/env/package-tree.html +++ b/apidocs/com/okta/spring/boot/sdk/env/package-tree.html @@ -1,11 +1,11 @@ - -com.okta.spring.boot.sdk.env Class Hierarchy (Okta Spring Boot 3.0.4 API) + +com.okta.spring.boot.sdk.env Class Hierarchy (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/sdk/env/package-use.html b/apidocs/com/okta/spring/boot/sdk/env/package-use.html index 97d25662b..a96217435 100644 --- a/apidocs/com/okta/spring/boot/sdk/env/package-use.html +++ b/apidocs/com/okta/spring/boot/sdk/env/package-use.html @@ -1,11 +1,11 @@ - -Uses of Package com.okta.spring.boot.sdk.env (Okta Spring Boot 3.0.4 API) + +Uses of Package com.okta.spring.boot.sdk.env (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/sdk/package-summary.html b/apidocs/com/okta/spring/boot/sdk/package-summary.html index d81ba2079..b57f78146 100644 --- a/apidocs/com/okta/spring/boot/sdk/package-summary.html +++ b/apidocs/com/okta/spring/boot/sdk/package-summary.html @@ -1,11 +1,11 @@ - -com.okta.spring.boot.sdk (Okta Spring Boot 3.0.4 API) + +com.okta.spring.boot.sdk (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/sdk/package-tree.html b/apidocs/com/okta/spring/boot/sdk/package-tree.html index c61a342db..a48cc6835 100644 --- a/apidocs/com/okta/spring/boot/sdk/package-tree.html +++ b/apidocs/com/okta/spring/boot/sdk/package-tree.html @@ -1,11 +1,11 @@ - -com.okta.spring.boot.sdk Class Hierarchy (Okta Spring Boot 3.0.4 API) + +com.okta.spring.boot.sdk Class Hierarchy (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/boot/sdk/package-use.html b/apidocs/com/okta/spring/boot/sdk/package-use.html index 90e26afb2..46df9b60b 100644 --- a/apidocs/com/okta/spring/boot/sdk/package-use.html +++ b/apidocs/com/okta/spring/boot/sdk/package-use.html @@ -1,11 +1,11 @@ - -Uses of Package com.okta.spring.boot.sdk (Okta Spring Boot 3.0.4 API) + +Uses of Package com.okta.spring.boot.sdk (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/example/HostedLoginCodeFlowExampleApplication.html b/apidocs/com/okta/spring/example/HostedLoginCodeFlowExampleApplication.html index 336bb9926..73723fdd6 100644 --- a/apidocs/com/okta/spring/example/HostedLoginCodeFlowExampleApplication.html +++ b/apidocs/com/okta/spring/example/HostedLoginCodeFlowExampleApplication.html @@ -1,11 +1,11 @@ - -HostedLoginCodeFlowExampleApplication (Okta Spring Boot 3.0.4 API) + +HostedLoginCodeFlowExampleApplication (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/example/ImplicitFlowApplication.html b/apidocs/com/okta/spring/example/ImplicitFlowApplication.html index f67ca6760..3ad07e710 100644 --- a/apidocs/com/okta/spring/example/ImplicitFlowApplication.html +++ b/apidocs/com/okta/spring/example/ImplicitFlowApplication.html @@ -1,11 +1,11 @@ - -ImplicitFlowApplication (Okta Spring Boot 3.0.4 API) + +ImplicitFlowApplication (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/example/RedirectCodeFlowApplication.html b/apidocs/com/okta/spring/example/RedirectCodeFlowApplication.html index 26b225992..142d30f52 100644 --- a/apidocs/com/okta/spring/example/RedirectCodeFlowApplication.html +++ b/apidocs/com/okta/spring/example/RedirectCodeFlowApplication.html @@ -1,11 +1,11 @@ - -RedirectCodeFlowApplication (Okta Spring Boot 3.0.4 API) + +RedirectCodeFlowApplication (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/example/class-use/HostedLoginCodeFlowExampleApplication.html b/apidocs/com/okta/spring/example/class-use/HostedLoginCodeFlowExampleApplication.html index d3d2449cb..332afffea 100644 --- a/apidocs/com/okta/spring/example/class-use/HostedLoginCodeFlowExampleApplication.html +++ b/apidocs/com/okta/spring/example/class-use/HostedLoginCodeFlowExampleApplication.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.example.HostedLoginCodeFlowExampleApplication (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.example.HostedLoginCodeFlowExampleApplication (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/example/class-use/ImplicitFlowApplication.html b/apidocs/com/okta/spring/example/class-use/ImplicitFlowApplication.html index 449270ebc..29e92797f 100644 --- a/apidocs/com/okta/spring/example/class-use/ImplicitFlowApplication.html +++ b/apidocs/com/okta/spring/example/class-use/ImplicitFlowApplication.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.example.ImplicitFlowApplication (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.example.ImplicitFlowApplication (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/example/class-use/RedirectCodeFlowApplication.html b/apidocs/com/okta/spring/example/class-use/RedirectCodeFlowApplication.html index daddf2019..4e362761e 100644 --- a/apidocs/com/okta/spring/example/class-use/RedirectCodeFlowApplication.html +++ b/apidocs/com/okta/spring/example/class-use/RedirectCodeFlowApplication.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.example.RedirectCodeFlowApplication (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.example.RedirectCodeFlowApplication (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/example/controllers/LoginController.html b/apidocs/com/okta/spring/example/controllers/LoginController.html index 9f4a33fca..5539e678e 100644 --- a/apidocs/com/okta/spring/example/controllers/LoginController.html +++ b/apidocs/com/okta/spring/example/controllers/LoginController.html @@ -1,11 +1,11 @@ - -LoginController (Okta Spring Boot 3.0.4 API) + +LoginController (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/example/controllers/SignInWidgetConfigController.WidgetConfig.html b/apidocs/com/okta/spring/example/controllers/SignInWidgetConfigController.WidgetConfig.html index 398c82647..85dd70e50 100644 --- a/apidocs/com/okta/spring/example/controllers/SignInWidgetConfigController.WidgetConfig.html +++ b/apidocs/com/okta/spring/example/controllers/SignInWidgetConfigController.WidgetConfig.html @@ -1,11 +1,11 @@ - -SignInWidgetConfigController.WidgetConfig (Okta Spring Boot 3.0.4 API) + +SignInWidgetConfigController.WidgetConfig (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/example/controllers/SignInWidgetConfigController.html b/apidocs/com/okta/spring/example/controllers/SignInWidgetConfigController.html index 0eff8924e..8a4c92bd6 100644 --- a/apidocs/com/okta/spring/example/controllers/SignInWidgetConfigController.html +++ b/apidocs/com/okta/spring/example/controllers/SignInWidgetConfigController.html @@ -1,11 +1,11 @@ - -SignInWidgetConfigController (Okta Spring Boot 3.0.4 API) + +SignInWidgetConfigController (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/example/controllers/WelcomeController.Welcome.html b/apidocs/com/okta/spring/example/controllers/WelcomeController.Welcome.html index 01277ef6f..6f8029e2f 100644 --- a/apidocs/com/okta/spring/example/controllers/WelcomeController.Welcome.html +++ b/apidocs/com/okta/spring/example/controllers/WelcomeController.Welcome.html @@ -1,11 +1,11 @@ - -WelcomeController.Welcome (Okta Spring Boot 3.0.4 API) + +WelcomeController.Welcome (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/example/controllers/WelcomeController.html b/apidocs/com/okta/spring/example/controllers/WelcomeController.html index 7330835e1..0b71a88fb 100644 --- a/apidocs/com/okta/spring/example/controllers/WelcomeController.html +++ b/apidocs/com/okta/spring/example/controllers/WelcomeController.html @@ -1,11 +1,11 @@ - -WelcomeController (Okta Spring Boot 3.0.4 API) + +WelcomeController (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/example/controllers/class-use/LoginController.html b/apidocs/com/okta/spring/example/controllers/class-use/LoginController.html index 27e5d5c1f..59b7c51db 100644 --- a/apidocs/com/okta/spring/example/controllers/class-use/LoginController.html +++ b/apidocs/com/okta/spring/example/controllers/class-use/LoginController.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.example.controllers.LoginController (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.example.controllers.LoginController (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/example/controllers/class-use/SignInWidgetConfigController.WidgetConfig.html b/apidocs/com/okta/spring/example/controllers/class-use/SignInWidgetConfigController.WidgetConfig.html index dd5749f1e..575303115 100644 --- a/apidocs/com/okta/spring/example/controllers/class-use/SignInWidgetConfigController.WidgetConfig.html +++ b/apidocs/com/okta/spring/example/controllers/class-use/SignInWidgetConfigController.WidgetConfig.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.example.controllers.SignInWidgetConfigController.WidgetConfig (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.example.controllers.SignInWidgetConfigController.WidgetConfig (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/example/controllers/class-use/SignInWidgetConfigController.html b/apidocs/com/okta/spring/example/controllers/class-use/SignInWidgetConfigController.html index 4d4f8d7d9..b5d84e845 100644 --- a/apidocs/com/okta/spring/example/controllers/class-use/SignInWidgetConfigController.html +++ b/apidocs/com/okta/spring/example/controllers/class-use/SignInWidgetConfigController.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.example.controllers.SignInWidgetConfigController (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.example.controllers.SignInWidgetConfigController (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/example/controllers/class-use/WelcomeController.Welcome.html b/apidocs/com/okta/spring/example/controllers/class-use/WelcomeController.Welcome.html index 8d7cdc944..6b58c7773 100644 --- a/apidocs/com/okta/spring/example/controllers/class-use/WelcomeController.Welcome.html +++ b/apidocs/com/okta/spring/example/controllers/class-use/WelcomeController.Welcome.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.example.controllers.WelcomeController.Welcome (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.example.controllers.WelcomeController.Welcome (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/example/controllers/class-use/WelcomeController.html b/apidocs/com/okta/spring/example/controllers/class-use/WelcomeController.html index 3b5f875fc..6c8b49e76 100644 --- a/apidocs/com/okta/spring/example/controllers/class-use/WelcomeController.html +++ b/apidocs/com/okta/spring/example/controllers/class-use/WelcomeController.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.example.controllers.WelcomeController (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.example.controllers.WelcomeController (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/example/controllers/package-summary.html b/apidocs/com/okta/spring/example/controllers/package-summary.html index a5feb2927..201aeee9a 100644 --- a/apidocs/com/okta/spring/example/controllers/package-summary.html +++ b/apidocs/com/okta/spring/example/controllers/package-summary.html @@ -1,11 +1,11 @@ - -com.okta.spring.example.controllers (Okta Spring Boot 3.0.4 API) + +com.okta.spring.example.controllers (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/example/controllers/package-tree.html b/apidocs/com/okta/spring/example/controllers/package-tree.html index eacdda28f..83514bb56 100644 --- a/apidocs/com/okta/spring/example/controllers/package-tree.html +++ b/apidocs/com/okta/spring/example/controllers/package-tree.html @@ -1,11 +1,11 @@ - -com.okta.spring.example.controllers Class Hierarchy (Okta Spring Boot 3.0.4 API) + +com.okta.spring.example.controllers Class Hierarchy (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/example/controllers/package-use.html b/apidocs/com/okta/spring/example/controllers/package-use.html index de6e450ee..45475bc62 100644 --- a/apidocs/com/okta/spring/example/controllers/package-use.html +++ b/apidocs/com/okta/spring/example/controllers/package-use.html @@ -1,11 +1,11 @@ - -Uses of Package com.okta.spring.example.controllers (Okta Spring Boot 3.0.4 API) + +Uses of Package com.okta.spring.example.controllers (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/example/package-summary.html b/apidocs/com/okta/spring/example/package-summary.html index 23df438a6..2a9606b67 100644 --- a/apidocs/com/okta/spring/example/package-summary.html +++ b/apidocs/com/okta/spring/example/package-summary.html @@ -1,11 +1,11 @@ - -com.okta.spring.example (Okta Spring Boot 3.0.4 API) + +com.okta.spring.example (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/example/package-tree.html b/apidocs/com/okta/spring/example/package-tree.html index 60eb82ead..930da0082 100644 --- a/apidocs/com/okta/spring/example/package-tree.html +++ b/apidocs/com/okta/spring/example/package-tree.html @@ -1,11 +1,11 @@ - -com.okta.spring.example Class Hierarchy (Okta Spring Boot 3.0.4 API) + +com.okta.spring.example Class Hierarchy (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/example/package-use.html b/apidocs/com/okta/spring/example/package-use.html index 7d6138357..ee111afd1 100644 --- a/apidocs/com/okta/spring/example/package-use.html +++ b/apidocs/com/okta/spring/example/package-use.html @@ -1,11 +1,11 @@ - -Uses of Package com.okta.spring.example (Okta Spring Boot 3.0.4 API) + +Uses of Package com.okta.spring.example (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/example/webflux/ReactiveApplication.html b/apidocs/com/okta/spring/example/webflux/ReactiveApplication.html index bea7b4059..84144ab07 100644 --- a/apidocs/com/okta/spring/example/webflux/ReactiveApplication.html +++ b/apidocs/com/okta/spring/example/webflux/ReactiveApplication.html @@ -1,11 +1,11 @@ - -ReactiveApplication (Okta Spring Boot 3.0.4 API) + +ReactiveApplication (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/example/webflux/class-use/ReactiveApplication.html b/apidocs/com/okta/spring/example/webflux/class-use/ReactiveApplication.html index d85821f56..0403e6b8f 100644 --- a/apidocs/com/okta/spring/example/webflux/class-use/ReactiveApplication.html +++ b/apidocs/com/okta/spring/example/webflux/class-use/ReactiveApplication.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.example.webflux.ReactiveApplication (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.example.webflux.ReactiveApplication (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/example/webflux/package-summary.html b/apidocs/com/okta/spring/example/webflux/package-summary.html index 32f7138b8..c87d19404 100644 --- a/apidocs/com/okta/spring/example/webflux/package-summary.html +++ b/apidocs/com/okta/spring/example/webflux/package-summary.html @@ -1,11 +1,11 @@ - -com.okta.spring.example.webflux (Okta Spring Boot 3.0.4 API) + +com.okta.spring.example.webflux (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/example/webflux/package-tree.html b/apidocs/com/okta/spring/example/webflux/package-tree.html index 8e258962a..2798e7c6d 100644 --- a/apidocs/com/okta/spring/example/webflux/package-tree.html +++ b/apidocs/com/okta/spring/example/webflux/package-tree.html @@ -1,11 +1,11 @@ - -com.okta.spring.example.webflux Class Hierarchy (Okta Spring Boot 3.0.4 API) + +com.okta.spring.example.webflux Class Hierarchy (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/example/webflux/package-use.html b/apidocs/com/okta/spring/example/webflux/package-use.html index 829486968..2f1419a11 100644 --- a/apidocs/com/okta/spring/example/webflux/package-use.html +++ b/apidocs/com/okta/spring/example/webflux/package-use.html @@ -1,11 +1,11 @@ - -Uses of Package com.okta.spring.example.webflux (Okta Spring Boot 3.0.4 API) + +Uses of Package com.okta.spring.example.webflux (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/reactive/code/ReactiveRedirectCodeFlowApplication.html b/apidocs/com/okta/spring/tests/common/reactive/code/ReactiveRedirectCodeFlowApplication.html index 86e13af99..d38483120 100644 --- a/apidocs/com/okta/spring/tests/common/reactive/code/ReactiveRedirectCodeFlowApplication.html +++ b/apidocs/com/okta/spring/tests/common/reactive/code/ReactiveRedirectCodeFlowApplication.html @@ -1,11 +1,11 @@ - -ReactiveRedirectCodeFlowApplication (Okta Spring Boot 3.0.4 API) + +ReactiveRedirectCodeFlowApplication (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/reactive/code/class-use/ReactiveRedirectCodeFlowApplication.html b/apidocs/com/okta/spring/tests/common/reactive/code/class-use/ReactiveRedirectCodeFlowApplication.html index 33df12999..43d149d88 100644 --- a/apidocs/com/okta/spring/tests/common/reactive/code/class-use/ReactiveRedirectCodeFlowApplication.html +++ b/apidocs/com/okta/spring/tests/common/reactive/code/class-use/ReactiveRedirectCodeFlowApplication.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.tests.common.reactive.code.ReactiveRedirectCodeFlowApplication (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.tests.common.reactive.code.ReactiveRedirectCodeFlowApplication (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/reactive/code/package-summary.html b/apidocs/com/okta/spring/tests/common/reactive/code/package-summary.html index ed8b09755..9bb297be7 100644 --- a/apidocs/com/okta/spring/tests/common/reactive/code/package-summary.html +++ b/apidocs/com/okta/spring/tests/common/reactive/code/package-summary.html @@ -1,11 +1,11 @@ - -com.okta.spring.tests.common.reactive.code (Okta Spring Boot 3.0.4 API) + +com.okta.spring.tests.common.reactive.code (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/reactive/code/package-tree.html b/apidocs/com/okta/spring/tests/common/reactive/code/package-tree.html index 2dab783e1..8ba139587 100644 --- a/apidocs/com/okta/spring/tests/common/reactive/code/package-tree.html +++ b/apidocs/com/okta/spring/tests/common/reactive/code/package-tree.html @@ -1,11 +1,11 @@ - -com.okta.spring.tests.common.reactive.code Class Hierarchy (Okta Spring Boot 3.0.4 API) + +com.okta.spring.tests.common.reactive.code Class Hierarchy (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/reactive/code/package-use.html b/apidocs/com/okta/spring/tests/common/reactive/code/package-use.html index fa6a7e294..5ac91515a 100644 --- a/apidocs/com/okta/spring/tests/common/reactive/code/package-use.html +++ b/apidocs/com/okta/spring/tests/common/reactive/code/package-use.html @@ -1,11 +1,11 @@ - -Uses of Package com.okta.spring.tests.common.reactive.code (Okta Spring Boot 3.0.4 API) + +Uses of Package com.okta.spring.tests.common.reactive.code (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/reactive/implicit/ReactiveImplicitFlowApplication.MessageOfTheDayController.html b/apidocs/com/okta/spring/tests/common/reactive/implicit/ReactiveImplicitFlowApplication.MessageOfTheDayController.html index 981e1790f..9918f57d4 100644 --- a/apidocs/com/okta/spring/tests/common/reactive/implicit/ReactiveImplicitFlowApplication.MessageOfTheDayController.html +++ b/apidocs/com/okta/spring/tests/common/reactive/implicit/ReactiveImplicitFlowApplication.MessageOfTheDayController.html @@ -1,11 +1,11 @@ - -ReactiveImplicitFlowApplication.MessageOfTheDayController (Okta Spring Boot 3.0.4 API) + +ReactiveImplicitFlowApplication.MessageOfTheDayController (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/reactive/implicit/ReactiveImplicitFlowApplication.html b/apidocs/com/okta/spring/tests/common/reactive/implicit/ReactiveImplicitFlowApplication.html index f46132825..73c36d96e 100644 --- a/apidocs/com/okta/spring/tests/common/reactive/implicit/ReactiveImplicitFlowApplication.html +++ b/apidocs/com/okta/spring/tests/common/reactive/implicit/ReactiveImplicitFlowApplication.html @@ -1,11 +1,11 @@ - -ReactiveImplicitFlowApplication (Okta Spring Boot 3.0.4 API) + +ReactiveImplicitFlowApplication (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/reactive/implicit/class-use/ReactiveImplicitFlowApplication.MessageOfTheDayController.html b/apidocs/com/okta/spring/tests/common/reactive/implicit/class-use/ReactiveImplicitFlowApplication.MessageOfTheDayController.html index 14d57a07f..8a9cfdea1 100644 --- a/apidocs/com/okta/spring/tests/common/reactive/implicit/class-use/ReactiveImplicitFlowApplication.MessageOfTheDayController.html +++ b/apidocs/com/okta/spring/tests/common/reactive/implicit/class-use/ReactiveImplicitFlowApplication.MessageOfTheDayController.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.tests.common.reactive.implicit.ReactiveImplicitFlowApplication.MessageOfTheDayController (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.tests.common.reactive.implicit.ReactiveImplicitFlowApplication.MessageOfTheDayController (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/reactive/implicit/class-use/ReactiveImplicitFlowApplication.html b/apidocs/com/okta/spring/tests/common/reactive/implicit/class-use/ReactiveImplicitFlowApplication.html index f16574422..46524e8f7 100644 --- a/apidocs/com/okta/spring/tests/common/reactive/implicit/class-use/ReactiveImplicitFlowApplication.html +++ b/apidocs/com/okta/spring/tests/common/reactive/implicit/class-use/ReactiveImplicitFlowApplication.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.tests.common.reactive.implicit.ReactiveImplicitFlowApplication (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.tests.common.reactive.implicit.ReactiveImplicitFlowApplication (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/reactive/implicit/package-summary.html b/apidocs/com/okta/spring/tests/common/reactive/implicit/package-summary.html index 416e0ca90..7c3513ed2 100644 --- a/apidocs/com/okta/spring/tests/common/reactive/implicit/package-summary.html +++ b/apidocs/com/okta/spring/tests/common/reactive/implicit/package-summary.html @@ -1,11 +1,11 @@ - -com.okta.spring.tests.common.reactive.implicit (Okta Spring Boot 3.0.4 API) + +com.okta.spring.tests.common.reactive.implicit (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/reactive/implicit/package-tree.html b/apidocs/com/okta/spring/tests/common/reactive/implicit/package-tree.html index 25e0f56a4..41669db39 100644 --- a/apidocs/com/okta/spring/tests/common/reactive/implicit/package-tree.html +++ b/apidocs/com/okta/spring/tests/common/reactive/implicit/package-tree.html @@ -1,11 +1,11 @@ - -com.okta.spring.tests.common.reactive.implicit Class Hierarchy (Okta Spring Boot 3.0.4 API) + +com.okta.spring.tests.common.reactive.implicit Class Hierarchy (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/reactive/implicit/package-use.html b/apidocs/com/okta/spring/tests/common/reactive/implicit/package-use.html index 43e57bf7a..f00bf9339 100644 --- a/apidocs/com/okta/spring/tests/common/reactive/implicit/package-use.html +++ b/apidocs/com/okta/spring/tests/common/reactive/implicit/package-use.html @@ -1,11 +1,11 @@ - -Uses of Package com.okta.spring.tests.common.reactive.implicit (Okta Spring Boot 3.0.4 API) + +Uses of Package com.okta.spring.tests.common.reactive.implicit (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/servlet/code/BasicRedirectCodeFlowApplication.html b/apidocs/com/okta/spring/tests/common/servlet/code/BasicRedirectCodeFlowApplication.html index 04284d9a5..786adb16a 100644 --- a/apidocs/com/okta/spring/tests/common/servlet/code/BasicRedirectCodeFlowApplication.html +++ b/apidocs/com/okta/spring/tests/common/servlet/code/BasicRedirectCodeFlowApplication.html @@ -1,11 +1,11 @@ - -BasicRedirectCodeFlowApplication (Okta Spring Boot 3.0.4 API) + +BasicRedirectCodeFlowApplication (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/servlet/code/class-use/BasicRedirectCodeFlowApplication.html b/apidocs/com/okta/spring/tests/common/servlet/code/class-use/BasicRedirectCodeFlowApplication.html index 902b277c7..8275c7534 100644 --- a/apidocs/com/okta/spring/tests/common/servlet/code/class-use/BasicRedirectCodeFlowApplication.html +++ b/apidocs/com/okta/spring/tests/common/servlet/code/class-use/BasicRedirectCodeFlowApplication.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.tests.common.servlet.code.BasicRedirectCodeFlowApplication (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.tests.common.servlet.code.BasicRedirectCodeFlowApplication (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/servlet/code/package-summary.html b/apidocs/com/okta/spring/tests/common/servlet/code/package-summary.html index f0e93ed32..ea1b5aa57 100644 --- a/apidocs/com/okta/spring/tests/common/servlet/code/package-summary.html +++ b/apidocs/com/okta/spring/tests/common/servlet/code/package-summary.html @@ -1,11 +1,11 @@ - -com.okta.spring.tests.common.servlet.code (Okta Spring Boot 3.0.4 API) + +com.okta.spring.tests.common.servlet.code (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/servlet/code/package-tree.html b/apidocs/com/okta/spring/tests/common/servlet/code/package-tree.html index 46284670a..d094145ff 100644 --- a/apidocs/com/okta/spring/tests/common/servlet/code/package-tree.html +++ b/apidocs/com/okta/spring/tests/common/servlet/code/package-tree.html @@ -1,11 +1,11 @@ - -com.okta.spring.tests.common.servlet.code Class Hierarchy (Okta Spring Boot 3.0.4 API) + +com.okta.spring.tests.common.servlet.code Class Hierarchy (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/servlet/code/package-use.html b/apidocs/com/okta/spring/tests/common/servlet/code/package-use.html index abbc64112..1afed87d7 100644 --- a/apidocs/com/okta/spring/tests/common/servlet/code/package-use.html +++ b/apidocs/com/okta/spring/tests/common/servlet/code/package-use.html @@ -1,11 +1,11 @@ - -Uses of Package com.okta.spring.tests.common.servlet.code (Okta Spring Boot 3.0.4 API) + +Uses of Package com.okta.spring.tests.common.servlet.code (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/servlet/jwt/BasicJwtResourceServerApplication.MessageOfTheDayController.html b/apidocs/com/okta/spring/tests/common/servlet/jwt/BasicJwtResourceServerApplication.MessageOfTheDayController.html index e88816287..1c842b570 100644 --- a/apidocs/com/okta/spring/tests/common/servlet/jwt/BasicJwtResourceServerApplication.MessageOfTheDayController.html +++ b/apidocs/com/okta/spring/tests/common/servlet/jwt/BasicJwtResourceServerApplication.MessageOfTheDayController.html @@ -1,11 +1,11 @@ - -BasicJwtResourceServerApplication.MessageOfTheDayController (Okta Spring Boot 3.0.4 API) + +BasicJwtResourceServerApplication.MessageOfTheDayController (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/servlet/jwt/BasicJwtResourceServerApplication.html b/apidocs/com/okta/spring/tests/common/servlet/jwt/BasicJwtResourceServerApplication.html index ecb5981e3..662a12e3e 100644 --- a/apidocs/com/okta/spring/tests/common/servlet/jwt/BasicJwtResourceServerApplication.html +++ b/apidocs/com/okta/spring/tests/common/servlet/jwt/BasicJwtResourceServerApplication.html @@ -1,11 +1,11 @@ - -BasicJwtResourceServerApplication (Okta Spring Boot 3.0.4 API) + +BasicJwtResourceServerApplication (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/servlet/jwt/class-use/BasicJwtResourceServerApplication.MessageOfTheDayController.html b/apidocs/com/okta/spring/tests/common/servlet/jwt/class-use/BasicJwtResourceServerApplication.MessageOfTheDayController.html index 0d8b40de0..bec744843 100644 --- a/apidocs/com/okta/spring/tests/common/servlet/jwt/class-use/BasicJwtResourceServerApplication.MessageOfTheDayController.html +++ b/apidocs/com/okta/spring/tests/common/servlet/jwt/class-use/BasicJwtResourceServerApplication.MessageOfTheDayController.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.tests.common.servlet.jwt.BasicJwtResourceServerApplication.MessageOfTheDayController (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.tests.common.servlet.jwt.BasicJwtResourceServerApplication.MessageOfTheDayController (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/servlet/jwt/class-use/BasicJwtResourceServerApplication.html b/apidocs/com/okta/spring/tests/common/servlet/jwt/class-use/BasicJwtResourceServerApplication.html index 49f21d933..ffeb66471 100644 --- a/apidocs/com/okta/spring/tests/common/servlet/jwt/class-use/BasicJwtResourceServerApplication.html +++ b/apidocs/com/okta/spring/tests/common/servlet/jwt/class-use/BasicJwtResourceServerApplication.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.tests.common.servlet.jwt.BasicJwtResourceServerApplication (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.tests.common.servlet.jwt.BasicJwtResourceServerApplication (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/servlet/jwt/package-summary.html b/apidocs/com/okta/spring/tests/common/servlet/jwt/package-summary.html index 4e606e40d..d824dccb5 100644 --- a/apidocs/com/okta/spring/tests/common/servlet/jwt/package-summary.html +++ b/apidocs/com/okta/spring/tests/common/servlet/jwt/package-summary.html @@ -1,11 +1,11 @@ - -com.okta.spring.tests.common.servlet.jwt (Okta Spring Boot 3.0.4 API) + +com.okta.spring.tests.common.servlet.jwt (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/servlet/jwt/package-tree.html b/apidocs/com/okta/spring/tests/common/servlet/jwt/package-tree.html index a2265238c..aa499baf5 100644 --- a/apidocs/com/okta/spring/tests/common/servlet/jwt/package-tree.html +++ b/apidocs/com/okta/spring/tests/common/servlet/jwt/package-tree.html @@ -1,11 +1,11 @@ - -com.okta.spring.tests.common.servlet.jwt Class Hierarchy (Okta Spring Boot 3.0.4 API) + +com.okta.spring.tests.common.servlet.jwt Class Hierarchy (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/servlet/jwt/package-use.html b/apidocs/com/okta/spring/tests/common/servlet/jwt/package-use.html index 6f721afd7..eb4b63248 100644 --- a/apidocs/com/okta/spring/tests/common/servlet/jwt/package-use.html +++ b/apidocs/com/okta/spring/tests/common/servlet/jwt/package-use.html @@ -1,11 +1,11 @@ - -Uses of Package com.okta.spring.tests.common.servlet.jwt (Okta Spring Boot 3.0.4 API) + +Uses of Package com.okta.spring.tests.common.servlet.jwt (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController.html b/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController.html index 8c2758e4c..6bd1dd6dd 100644 --- a/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController.html +++ b/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController.html @@ -1,11 +1,11 @@ - -BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController (Okta Spring Boot 3.0.4 API) + +BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/BasicOpaqueTokenResourceServerApplication.html b/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/BasicOpaqueTokenResourceServerApplication.html index 7c16cd21e..c6e4d7a20 100644 --- a/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/BasicOpaqueTokenResourceServerApplication.html +++ b/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/BasicOpaqueTokenResourceServerApplication.html @@ -1,11 +1,11 @@ - -BasicOpaqueTokenResourceServerApplication (Okta Spring Boot 3.0.4 API) + +BasicOpaqueTokenResourceServerApplication (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/class-use/BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController.html b/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/class-use/BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController.html index ee1f7bc41..754c25b0d 100644 --- a/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/class-use/BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController.html +++ b/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/class-use/BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.tests.common.servlet.opaquetoken.BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.tests.common.servlet.opaquetoken.BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/class-use/BasicOpaqueTokenResourceServerApplication.html b/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/class-use/BasicOpaqueTokenResourceServerApplication.html index 01aa0ea04..a23419e43 100644 --- a/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/class-use/BasicOpaqueTokenResourceServerApplication.html +++ b/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/class-use/BasicOpaqueTokenResourceServerApplication.html @@ -1,11 +1,11 @@ - -Uses of Class com.okta.spring.tests.common.servlet.opaquetoken.BasicOpaqueTokenResourceServerApplication (Okta Spring Boot 3.0.4 API) + +Uses of Class com.okta.spring.tests.common.servlet.opaquetoken.BasicOpaqueTokenResourceServerApplication (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/package-summary.html b/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/package-summary.html index ed0e670aa..f38d260ba 100644 --- a/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/package-summary.html +++ b/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/package-summary.html @@ -1,11 +1,11 @@ - -com.okta.spring.tests.common.servlet.opaquetoken (Okta Spring Boot 3.0.4 API) + +com.okta.spring.tests.common.servlet.opaquetoken (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/package-tree.html b/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/package-tree.html index fc9de857d..6cd5db83a 100644 --- a/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/package-tree.html +++ b/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/package-tree.html @@ -1,11 +1,11 @@ - -com.okta.spring.tests.common.servlet.opaquetoken Class Hierarchy (Okta Spring Boot 3.0.4 API) + +com.okta.spring.tests.common.servlet.opaquetoken Class Hierarchy (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/package-use.html b/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/package-use.html index b0ddab336..c69e93aa4 100644 --- a/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/package-use.html +++ b/apidocs/com/okta/spring/tests/common/servlet/opaquetoken/package-use.html @@ -1,11 +1,11 @@ - -Uses of Package com.okta.spring.tests.common.servlet.opaquetoken (Okta Spring Boot 3.0.4 API) + +Uses of Package com.okta.spring.tests.common.servlet.opaquetoken (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/help-doc.html b/apidocs/help-doc.html index 5463a36dc..f250cf0cb 100644 --- a/apidocs/help-doc.html +++ b/apidocs/help-doc.html @@ -1,11 +1,11 @@ - -API Help (Okta Spring Boot 3.0.4 API) + +API Help (Okta Spring Boot 3.0.5 API) - + diff --git a/apidocs/index-all.html b/apidocs/index-all.html index 8195845c3..74bb21cb9 100644 --- a/apidocs/index-all.html +++ b/apidocs/index-all.html @@ -1,11 +1,11 @@ - -Index (Okta Spring Boot 3.0.4 API) + +Index (Okta Spring Boot 3.0.5 API) - + @@ -56,6 +56,10 @@

      A

      afterPropertiesSet() - Method in class com.okta.spring.boot.sdk.cache.SpringCacheManager
       
      +
      Auth0ClientRequestInterceptor - Class in com.okta.spring.boot.oauth.http
      +
       
      +
      Auth0ClientRequestInterceptor() - Constructor for class com.okta.spring.boot.oauth.http.Auth0ClientRequestInterceptor
      +
       
      AuthoritiesProvider - Interface in com.okta.spring.boot.oauth
      Allows for custom GrantedAuthoritys to be added to the current OAuth Principal.
      @@ -265,6 +269,8 @@

      I

       
      ImplicitFlowApplication() - Constructor for class com.okta.spring.example.ImplicitFlowApplication
       
      +
      intercept(HttpRequest, byte[], ClientHttpRequestExecution) - Method in class com.okta.spring.boot.oauth.http.Auth0ClientRequestInterceptor
      +
       
      intercept(HttpRequest, byte[], ClientHttpRequestExecution) - Method in class com.okta.spring.boot.oauth.http.UserAgentRequestInterceptor
       
      invalidGroup() - Method in class com.okta.spring.tests.common.reactive.code.ReactiveRedirectCodeFlowApplication
      diff --git a/apidocs/index.html b/apidocs/index.html index c9b21e075..fcdbb2cc1 100644 --- a/apidocs/index.html +++ b/apidocs/index.html @@ -1,11 +1,11 @@ - -Overview (Okta Spring Boot 3.0.4 API) + +Overview (Okta Spring Boot 3.0.5 API) - + @@ -49,7 +49,7 @@
      -

      Okta Spring Boot 3.0.4 API

      +

      Okta Spring Boot 3.0.5 API

      Packages
      diff --git a/apidocs/member-search-index.js b/apidocs/member-search-index.js index 27d918fd2..93ffb1388 100644 --- a/apidocs/member-search-index.js +++ b/apidocs/member-search-index.js @@ -1 +1 @@ -memberSearchIndex = [{"p":"com.okta.spring.boot.sdk.cache","c":"SpringCacheManager","l":"afterPropertiesSet()"},{"p":"com.okta.spring.example.controllers","c":"SignInWidgetConfigController.WidgetConfig","l":"authParams"},{"p":"com.okta.spring.example.controllers","c":"SignInWidgetConfigController.WidgetConfig","l":"baseUrl"},{"p":"com.okta.spring.tests.common.servlet.jwt","c":"BasicJwtResourceServerApplication","l":"BasicJwtResourceServerApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","c":"BasicOpaqueTokenResourceServerApplication","l":"BasicOpaqueTokenResourceServerApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.tests.common.servlet.code","c":"BasicRedirectCodeFlowApplication","l":"BasicRedirectCodeFlowApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.example.controllers","c":"SignInWidgetConfigController.WidgetConfig","l":"clientId"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties.ClientProxyInfo","l":"ClientProxyInfo()","u":"%3Cinit%3E()"},{"p":"com.okta.example.cloud.configserver","c":"ConfigServerApplication","l":"ConfigServerApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.boot.oauth","c":"Okta","l":"configureOAuth2WithPkce(HttpSecurity, ClientRegistrationRepository)","u":"configureOAuth2WithPkce(org.springframework.security.config.annotation.web.builders.HttpSecurity,org.springframework.security.oauth2.client.registration.ClientRegistrationRepository)"},{"p":"com.okta.spring.boot.oauth","c":"Okta","l":"configureOAuth2WithPkce(ServerHttpSecurity, ReactiveClientRegistrationRepository)","u":"configureOAuth2WithPkce(org.springframework.security.config.web.server.ServerHttpSecurity,org.springframework.security.oauth2.client.registration.ReactiveClientRegistrationRepository)"},{"p":"com.okta.spring.boot.oauth","c":"Okta","l":"configureResourceServer401ResponseBody(HttpSecurity)","u":"configureResourceServer401ResponseBody(org.springframework.security.config.annotation.web.builders.HttpSecurity)"},{"p":"com.okta.spring.boot.oauth","c":"Okta","l":"configureResourceServer401ResponseBody(ServerHttpSecurity)","u":"configureResourceServer401ResponseBody(org.springframework.security.config.web.server.ServerHttpSecurity)"},{"p":"com.okta.spring.tests.common.reactive.code","c":"ReactiveRedirectCodeFlowApplication","l":"everyoneAccess(Principal)","u":"everyoneAccess(java.security.Principal)"},{"p":"com.okta.spring.tests.common.reactive.implicit","c":"ReactiveImplicitFlowApplication.MessageOfTheDayController","l":"everyoneAccess(Principal)","u":"everyoneAccess(java.security.Principal)"},{"p":"com.okta.spring.tests.common.servlet.code","c":"BasicRedirectCodeFlowApplication","l":"everyoneAccess(Principal)","u":"everyoneAccess(java.security.Principal)"},{"p":"com.okta.spring.tests.common.servlet.jwt","c":"BasicJwtResourceServerApplication.MessageOfTheDayController","l":"everyoneAccess(Principal)","u":"everyoneAccess(java.security.Principal)"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","c":"BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController","l":"everyoneAccess(Principal)","u":"everyoneAccess(java.security.Principal)"},{"p":"com.okta.spring.boot.sdk.cache","c":"SpringCache","l":"get(K)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"getAudience()"},{"p":"com.okta.spring.boot.oauth","c":"AuthoritiesProvider","l":"getAuthorities(OAuth2User, OAuth2UserRequest)","u":"getAuthorities(org.springframework.security.oauth2.core.user.OAuth2User,org.springframework.security.oauth2.client.userinfo.OAuth2UserRequest)"},{"p":"com.okta.spring.boot.oauth","c":"AuthoritiesProvider","l":"getAuthorities(OidcUser, OidcUserRequest)","u":"getAuthorities(org.springframework.security.oauth2.core.oidc.user.OidcUser,org.springframework.security.oauth2.client.oidc.userinfo.OidcUserRequest)"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"getAuthorizationURI()"},{"p":"com.okta.spring.boot.sdk.cache","c":"SpringCacheManager","l":"getCache(String)","u":"getCache(java.lang.String)"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"getClientAuthenticationMethod()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"getClientId()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"getClientSecret()"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties","l":"getConnectionTimeout()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"getGroupsClaim()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties.Proxy","l":"getHost()"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties.ClientProxyInfo","l":"getHostname()"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"getIntrospectionURI()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"getIssuer()"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"getJwkSetURI()"},{"p":"com.okta.spring.example.controllers","c":"WelcomeController","l":"getMessageOfTheDay(Principal)","u":"getMessageOfTheDay(java.security.Principal)"},{"p":"com.okta.spring.tests.common.reactive.code","c":"ReactiveRedirectCodeFlowApplication","l":"getMessageOfTheDay(Principal)","u":"getMessageOfTheDay(java.security.Principal)"},{"p":"com.okta.spring.tests.common.reactive.implicit","c":"ReactiveImplicitFlowApplication.MessageOfTheDayController","l":"getMessageOfTheDay(Principal)","u":"getMessageOfTheDay(java.security.Principal)"},{"p":"com.okta.spring.tests.common.servlet.code","c":"BasicRedirectCodeFlowApplication","l":"getMessageOfTheDay(Principal)","u":"getMessageOfTheDay(java.security.Principal)"},{"p":"com.okta.spring.tests.common.servlet.jwt","c":"BasicJwtResourceServerApplication.MessageOfTheDayController","l":"getMessageOfTheDay(Principal)","u":"getMessageOfTheDay(java.security.Principal)"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","c":"BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController","l":"getMessageOfTheDay(Principal)","u":"getMessageOfTheDay(java.security.Principal)"},{"p":"com.okta.spring.boot.oauth.env","c":"OktaEnvironmentPostProcessorApplicationListener","l":"getOrder()"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties","l":"getOrgUrl()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties.Proxy","l":"getPassword()"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties.ClientProxyInfo","l":"getPassword()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties.Proxy","l":"getPort()"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties.ClientProxyInfo","l":"getPort()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"getPostLogoutRedirectUri()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"getProxy()"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties","l":"getProxy()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"getRedirectUri()"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"getScope()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"getScopes()"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties","l":"getToken()"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"getTokenURI()"},{"p":"com.okta.spring.tests.common.reactive.implicit","c":"ReactiveImplicitFlowApplication.MessageOfTheDayController","l":"getUserDetails(Authentication)","u":"getUserDetails(org.springframework.security.core.Authentication)"},{"p":"com.okta.spring.tests.common.servlet.jwt","c":"BasicJwtResourceServerApplication.MessageOfTheDayController","l":"getUserDetails(Authentication)","u":"getUserDetails(org.springframework.security.core.Authentication)"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","c":"BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController","l":"getUserDetails(Authentication)","u":"getUserDetails(org.springframework.security.core.Authentication)"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"getUserInfoURI()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties.Proxy","l":"getUsername()"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties.ClientProxyInfo","l":"getUsername()"},{"p":"com.okta.spring.example.controllers","c":"SignInWidgetConfigController","l":"getWidgetConfig()"},{"p":"com.okta.spring.example","c":"HostedLoginCodeFlowExampleApplication","l":"HostedLoginCodeFlowExampleApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.example","c":"ImplicitFlowApplication","l":"ImplicitFlowApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.boot.oauth.http","c":"UserAgentRequestInterceptor","l":"intercept(HttpRequest, byte[], ClientHttpRequestExecution)","u":"intercept(org.springframework.http.HttpRequest,byte[],org.springframework.http.client.ClientHttpRequestExecution)"},{"p":"com.okta.spring.tests.common.reactive.code","c":"ReactiveRedirectCodeFlowApplication","l":"invalidGroup()"},{"p":"com.okta.spring.tests.common.servlet.code","c":"BasicRedirectCodeFlowApplication","l":"invalidGroup()"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","c":"BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController","l":"invalidScope()"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"isAuth0()"},{"p":"com.okta.spring.example.controllers","c":"LoginController","l":"login(String)","u":"login(java.lang.String)"},{"p":"com.okta.spring.example.controllers","c":"LoginController","l":"LoginController(OktaOAuth2Properties)","u":"%3Cinit%3E(com.okta.spring.boot.oauth.config.OktaOAuth2Properties)"},{"p":"com.okta.example.cloud.configserver","c":"ConfigServerApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.example","c":"HostedLoginCodeFlowExampleApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.example","c":"ImplicitFlowApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.example","c":"RedirectCodeFlowApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.example.webflux","c":"ReactiveApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.tests.common.reactive.code","c":"ReactiveRedirectCodeFlowApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.tests.common.reactive.implicit","c":"ReactiveImplicitFlowApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.tests.common.servlet.code","c":"BasicRedirectCodeFlowApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.tests.common.servlet.jwt","c":"BasicJwtResourceServerApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","c":"BasicOpaqueTokenResourceServerApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.example.controllers","c":"WelcomeController.Welcome","l":"messageOfTheDay"},{"p":"com.okta.spring.tests.common.reactive.implicit","c":"ReactiveImplicitFlowApplication.MessageOfTheDayController","l":"MessageOfTheDayController()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.tests.common.servlet.jwt","c":"BasicJwtResourceServerApplication.MessageOfTheDayController","l":"MessageOfTheDayController()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","c":"BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController","l":"MessageOfTheDayController()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.tests.common.reactive.implicit","c":"ReactiveImplicitFlowApplication.MessageOfTheDayController","l":"messages()"},{"p":"com.okta.spring.tests.common.servlet.jwt","c":"BasicJwtResourceServerApplication.MessageOfTheDayController","l":"messages()"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","c":"BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController","l":"messages()"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"OIDCMetadata(ResponseEntity)","u":"%3Cinit%3E(org.springframework.http.ResponseEntity)"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"OIDCMetadata(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties","l":"OktaClientProperties()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.boot.oauth.env","c":"OktaEnvironmentPostProcessorApplicationListener","l":"OktaEnvironmentPostProcessorApplicationListener()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"OktaOAuth2Properties(OAuth2ClientProperties)","u":"%3Cinit%3E(org.springframework.boot.autoconfigure.security.oauth2.client.OAuth2ClientProperties)"},{"p":"com.okta.spring.boot.sdk","c":"OktaSdkConfig","l":"oktaSdkClient()"},{"p":"com.okta.spring.boot.sdk","c":"OktaSdkConfig","l":"oktaSdkClientCredentials()"},{"p":"com.okta.spring.boot.sdk","c":"OktaSdkConfig","l":"OktaSdkConfig(OktaClientProperties, CacheManager)","u":"%3Cinit%3E(com.okta.spring.boot.sdk.config.OktaClientProperties,org.springframework.cache.CacheManager)"},{"p":"com.okta.spring.boot.oauth.env","c":"OktaEnvironmentPostProcessorApplicationListener","l":"onApplicationEvent(ApplicationEvent)","u":"onApplicationEvent(org.springframework.context.ApplicationEvent)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties.Proxy","l":"Proxy()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.boot.sdk.cache","c":"SpringCache","l":"put(K, V)","u":"put(K,V)"},{"p":"com.okta.spring.example.webflux","c":"ReactiveApplication","l":"ReactiveApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.tests.common.reactive.implicit","c":"ReactiveImplicitFlowApplication","l":"ReactiveImplicitFlowApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.tests.common.reactive.code","c":"ReactiveRedirectCodeFlowApplication","l":"ReactiveRedirectCodeFlowApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.example","c":"RedirectCodeFlowApplication","l":"RedirectCodeFlowApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.boot.sdk.cache","c":"SpringCache","l":"remove(K)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"setAudience(String)","u":"setAudience(java.lang.String)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"setClientId(String)","u":"setClientId(java.lang.String)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"setClientSecret(String)","u":"setClientSecret(java.lang.String)"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties","l":"setConnectionTimeout(int)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"setGroupsClaim(String)","u":"setGroupsClaim(java.lang.String)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties.Proxy","l":"setHost(String)","u":"setHost(java.lang.String)"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties.ClientProxyInfo","l":"setHostname(String)","u":"setHostname(java.lang.String)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"setIssuer(String)","u":"setIssuer(java.lang.String)"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties","l":"setOrgUrl(String)","u":"setOrgUrl(java.lang.String)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties.Proxy","l":"setPassword(String)","u":"setPassword(java.lang.String)"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties.ClientProxyInfo","l":"setPassword(String)","u":"setPassword(java.lang.String)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties.Proxy","l":"setPort(int)"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties.ClientProxyInfo","l":"setPort(int)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"setPostLogoutRedirectUri(String)","u":"setPostLogoutRedirectUri(java.lang.String)"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties","l":"setProxy(OktaClientProperties.ClientProxyInfo)","u":"setProxy(com.okta.spring.boot.sdk.config.OktaClientProperties.ClientProxyInfo)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"setProxy(OktaOAuth2Properties.Proxy)","u":"setProxy(com.okta.spring.boot.oauth.config.OktaOAuth2Properties.Proxy)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"setRedirectUri(String)","u":"setRedirectUri(java.lang.String)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"setScopes(Set)","u":"setScopes(java.util.Set)"},{"p":"com.okta.spring.boot.sdk.cache","c":"SpringCacheManager","l":"setSpringCacheManager(CacheManager)","u":"setSpringCacheManager(org.springframework.cache.CacheManager)"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties","l":"setToken(String)","u":"setToken(java.lang.String)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties.Proxy","l":"setUsername(String)","u":"setUsername(java.lang.String)"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties.ClientProxyInfo","l":"setUsername(String)","u":"setUsername(java.lang.String)"},{"p":"com.okta.spring.example.controllers","c":"SignInWidgetConfigController","l":"SignInWidgetConfigController(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"com.okta.spring.boot.sdk.cache","c":"SpringCache","l":"SpringCache(Cache)","u":"%3Cinit%3E(org.springframework.cache.Cache)"},{"p":"com.okta.spring.boot.sdk.cache","c":"SpringCacheManager","l":"SpringCacheManager()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.boot.sdk.cache","c":"SpringCacheManager","l":"SpringCacheManager(CacheManager)","u":"%3Cinit%3E(org.springframework.cache.CacheManager)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"supports(Class)","u":"supports(java.lang.Class)"},{"p":"com.okta.spring.boot.oauth.env","c":"OktaEnvironmentPostProcessorApplicationListener","l":"supportsEventType(Class)","u":"supportsEventType(java.lang.Class)"},{"p":"com.okta.spring.boot.oauth.http","c":"UserAgentRequestInterceptor","l":"UserAgentRequestInterceptor()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.example.webflux","c":"ReactiveApplication","l":"userDetailsMono(Mono)","u":"userDetailsMono(reactor.core.publisher.Mono)"},{"p":"com.okta.spring.example.controllers","c":"WelcomeController.Welcome","l":"username"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"validate(Object, Errors)","u":"validate(java.lang.Object,org.springframework.validation.Errors)"},{"p":"com.okta.spring.example.controllers","c":"WelcomeController.Welcome","l":"Welcome(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"com.okta.spring.example.controllers","c":"WelcomeController","l":"WelcomeController()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.example.controllers","c":"SignInWidgetConfigController.WidgetConfig","l":"WidgetConfig(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"}];updateSearchResults(); \ No newline at end of file +memberSearchIndex = [{"p":"com.okta.spring.boot.sdk.cache","c":"SpringCacheManager","l":"afterPropertiesSet()"},{"p":"com.okta.spring.boot.oauth.http","c":"Auth0ClientRequestInterceptor","l":"Auth0ClientRequestInterceptor()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.example.controllers","c":"SignInWidgetConfigController.WidgetConfig","l":"authParams"},{"p":"com.okta.spring.example.controllers","c":"SignInWidgetConfigController.WidgetConfig","l":"baseUrl"},{"p":"com.okta.spring.tests.common.servlet.jwt","c":"BasicJwtResourceServerApplication","l":"BasicJwtResourceServerApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","c":"BasicOpaqueTokenResourceServerApplication","l":"BasicOpaqueTokenResourceServerApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.tests.common.servlet.code","c":"BasicRedirectCodeFlowApplication","l":"BasicRedirectCodeFlowApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.example.controllers","c":"SignInWidgetConfigController.WidgetConfig","l":"clientId"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties.ClientProxyInfo","l":"ClientProxyInfo()","u":"%3Cinit%3E()"},{"p":"com.okta.example.cloud.configserver","c":"ConfigServerApplication","l":"ConfigServerApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.boot.oauth","c":"Okta","l":"configureOAuth2WithPkce(HttpSecurity, ClientRegistrationRepository)","u":"configureOAuth2WithPkce(org.springframework.security.config.annotation.web.builders.HttpSecurity,org.springframework.security.oauth2.client.registration.ClientRegistrationRepository)"},{"p":"com.okta.spring.boot.oauth","c":"Okta","l":"configureOAuth2WithPkce(ServerHttpSecurity, ReactiveClientRegistrationRepository)","u":"configureOAuth2WithPkce(org.springframework.security.config.web.server.ServerHttpSecurity,org.springframework.security.oauth2.client.registration.ReactiveClientRegistrationRepository)"},{"p":"com.okta.spring.boot.oauth","c":"Okta","l":"configureResourceServer401ResponseBody(HttpSecurity)","u":"configureResourceServer401ResponseBody(org.springframework.security.config.annotation.web.builders.HttpSecurity)"},{"p":"com.okta.spring.boot.oauth","c":"Okta","l":"configureResourceServer401ResponseBody(ServerHttpSecurity)","u":"configureResourceServer401ResponseBody(org.springframework.security.config.web.server.ServerHttpSecurity)"},{"p":"com.okta.spring.tests.common.reactive.code","c":"ReactiveRedirectCodeFlowApplication","l":"everyoneAccess(Principal)","u":"everyoneAccess(java.security.Principal)"},{"p":"com.okta.spring.tests.common.reactive.implicit","c":"ReactiveImplicitFlowApplication.MessageOfTheDayController","l":"everyoneAccess(Principal)","u":"everyoneAccess(java.security.Principal)"},{"p":"com.okta.spring.tests.common.servlet.code","c":"BasicRedirectCodeFlowApplication","l":"everyoneAccess(Principal)","u":"everyoneAccess(java.security.Principal)"},{"p":"com.okta.spring.tests.common.servlet.jwt","c":"BasicJwtResourceServerApplication.MessageOfTheDayController","l":"everyoneAccess(Principal)","u":"everyoneAccess(java.security.Principal)"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","c":"BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController","l":"everyoneAccess(Principal)","u":"everyoneAccess(java.security.Principal)"},{"p":"com.okta.spring.boot.sdk.cache","c":"SpringCache","l":"get(K)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"getAudience()"},{"p":"com.okta.spring.boot.oauth","c":"AuthoritiesProvider","l":"getAuthorities(OAuth2User, OAuth2UserRequest)","u":"getAuthorities(org.springframework.security.oauth2.core.user.OAuth2User,org.springframework.security.oauth2.client.userinfo.OAuth2UserRequest)"},{"p":"com.okta.spring.boot.oauth","c":"AuthoritiesProvider","l":"getAuthorities(OidcUser, OidcUserRequest)","u":"getAuthorities(org.springframework.security.oauth2.core.oidc.user.OidcUser,org.springframework.security.oauth2.client.oidc.userinfo.OidcUserRequest)"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"getAuthorizationURI()"},{"p":"com.okta.spring.boot.sdk.cache","c":"SpringCacheManager","l":"getCache(String)","u":"getCache(java.lang.String)"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"getClientAuthenticationMethod()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"getClientId()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"getClientSecret()"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties","l":"getConnectionTimeout()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"getGroupsClaim()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties.Proxy","l":"getHost()"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties.ClientProxyInfo","l":"getHostname()"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"getIntrospectionURI()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"getIssuer()"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"getJwkSetURI()"},{"p":"com.okta.spring.example.controllers","c":"WelcomeController","l":"getMessageOfTheDay(Principal)","u":"getMessageOfTheDay(java.security.Principal)"},{"p":"com.okta.spring.tests.common.reactive.code","c":"ReactiveRedirectCodeFlowApplication","l":"getMessageOfTheDay(Principal)","u":"getMessageOfTheDay(java.security.Principal)"},{"p":"com.okta.spring.tests.common.reactive.implicit","c":"ReactiveImplicitFlowApplication.MessageOfTheDayController","l":"getMessageOfTheDay(Principal)","u":"getMessageOfTheDay(java.security.Principal)"},{"p":"com.okta.spring.tests.common.servlet.code","c":"BasicRedirectCodeFlowApplication","l":"getMessageOfTheDay(Principal)","u":"getMessageOfTheDay(java.security.Principal)"},{"p":"com.okta.spring.tests.common.servlet.jwt","c":"BasicJwtResourceServerApplication.MessageOfTheDayController","l":"getMessageOfTheDay(Principal)","u":"getMessageOfTheDay(java.security.Principal)"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","c":"BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController","l":"getMessageOfTheDay(Principal)","u":"getMessageOfTheDay(java.security.Principal)"},{"p":"com.okta.spring.boot.oauth.env","c":"OktaEnvironmentPostProcessorApplicationListener","l":"getOrder()"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties","l":"getOrgUrl()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties.Proxy","l":"getPassword()"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties.ClientProxyInfo","l":"getPassword()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties.Proxy","l":"getPort()"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties.ClientProxyInfo","l":"getPort()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"getPostLogoutRedirectUri()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"getProxy()"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties","l":"getProxy()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"getRedirectUri()"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"getScope()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"getScopes()"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties","l":"getToken()"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"getTokenURI()"},{"p":"com.okta.spring.tests.common.reactive.implicit","c":"ReactiveImplicitFlowApplication.MessageOfTheDayController","l":"getUserDetails(Authentication)","u":"getUserDetails(org.springframework.security.core.Authentication)"},{"p":"com.okta.spring.tests.common.servlet.jwt","c":"BasicJwtResourceServerApplication.MessageOfTheDayController","l":"getUserDetails(Authentication)","u":"getUserDetails(org.springframework.security.core.Authentication)"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","c":"BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController","l":"getUserDetails(Authentication)","u":"getUserDetails(org.springframework.security.core.Authentication)"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"getUserInfoURI()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties.Proxy","l":"getUsername()"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties.ClientProxyInfo","l":"getUsername()"},{"p":"com.okta.spring.example.controllers","c":"SignInWidgetConfigController","l":"getWidgetConfig()"},{"p":"com.okta.spring.example","c":"HostedLoginCodeFlowExampleApplication","l":"HostedLoginCodeFlowExampleApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.example","c":"ImplicitFlowApplication","l":"ImplicitFlowApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.boot.oauth.http","c":"Auth0ClientRequestInterceptor","l":"intercept(HttpRequest, byte[], ClientHttpRequestExecution)","u":"intercept(org.springframework.http.HttpRequest,byte[],org.springframework.http.client.ClientHttpRequestExecution)"},{"p":"com.okta.spring.boot.oauth.http","c":"UserAgentRequestInterceptor","l":"intercept(HttpRequest, byte[], ClientHttpRequestExecution)","u":"intercept(org.springframework.http.HttpRequest,byte[],org.springframework.http.client.ClientHttpRequestExecution)"},{"p":"com.okta.spring.tests.common.reactive.code","c":"ReactiveRedirectCodeFlowApplication","l":"invalidGroup()"},{"p":"com.okta.spring.tests.common.servlet.code","c":"BasicRedirectCodeFlowApplication","l":"invalidGroup()"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","c":"BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController","l":"invalidScope()"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"isAuth0()"},{"p":"com.okta.spring.example.controllers","c":"LoginController","l":"login(String)","u":"login(java.lang.String)"},{"p":"com.okta.spring.example.controllers","c":"LoginController","l":"LoginController(OktaOAuth2Properties)","u":"%3Cinit%3E(com.okta.spring.boot.oauth.config.OktaOAuth2Properties)"},{"p":"com.okta.example.cloud.configserver","c":"ConfigServerApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.example","c":"HostedLoginCodeFlowExampleApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.example","c":"ImplicitFlowApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.example","c":"RedirectCodeFlowApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.example.webflux","c":"ReactiveApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.tests.common.reactive.code","c":"ReactiveRedirectCodeFlowApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.tests.common.reactive.implicit","c":"ReactiveImplicitFlowApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.tests.common.servlet.code","c":"BasicRedirectCodeFlowApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.tests.common.servlet.jwt","c":"BasicJwtResourceServerApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","c":"BasicOpaqueTokenResourceServerApplication","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.okta.spring.example.controllers","c":"WelcomeController.Welcome","l":"messageOfTheDay"},{"p":"com.okta.spring.tests.common.reactive.implicit","c":"ReactiveImplicitFlowApplication.MessageOfTheDayController","l":"MessageOfTheDayController()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.tests.common.servlet.jwt","c":"BasicJwtResourceServerApplication.MessageOfTheDayController","l":"MessageOfTheDayController()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","c":"BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController","l":"MessageOfTheDayController()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.tests.common.reactive.implicit","c":"ReactiveImplicitFlowApplication.MessageOfTheDayController","l":"messages()"},{"p":"com.okta.spring.tests.common.servlet.jwt","c":"BasicJwtResourceServerApplication.MessageOfTheDayController","l":"messages()"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","c":"BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController","l":"messages()"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"OIDCMetadata(ResponseEntity)","u":"%3Cinit%3E(org.springframework.http.ResponseEntity)"},{"p":"com.okta.spring.boot.oauth.env","c":"OIDCMetadata","l":"OIDCMetadata(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties","l":"OktaClientProperties()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.boot.oauth.env","c":"OktaEnvironmentPostProcessorApplicationListener","l":"OktaEnvironmentPostProcessorApplicationListener()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"OktaOAuth2Properties(OAuth2ClientProperties)","u":"%3Cinit%3E(org.springframework.boot.autoconfigure.security.oauth2.client.OAuth2ClientProperties)"},{"p":"com.okta.spring.boot.sdk","c":"OktaSdkConfig","l":"oktaSdkClient()"},{"p":"com.okta.spring.boot.sdk","c":"OktaSdkConfig","l":"oktaSdkClientCredentials()"},{"p":"com.okta.spring.boot.sdk","c":"OktaSdkConfig","l":"OktaSdkConfig(OktaClientProperties, CacheManager)","u":"%3Cinit%3E(com.okta.spring.boot.sdk.config.OktaClientProperties,org.springframework.cache.CacheManager)"},{"p":"com.okta.spring.boot.oauth.env","c":"OktaEnvironmentPostProcessorApplicationListener","l":"onApplicationEvent(ApplicationEvent)","u":"onApplicationEvent(org.springframework.context.ApplicationEvent)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties.Proxy","l":"Proxy()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.boot.sdk.cache","c":"SpringCache","l":"put(K, V)","u":"put(K,V)"},{"p":"com.okta.spring.example.webflux","c":"ReactiveApplication","l":"ReactiveApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.tests.common.reactive.implicit","c":"ReactiveImplicitFlowApplication","l":"ReactiveImplicitFlowApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.tests.common.reactive.code","c":"ReactiveRedirectCodeFlowApplication","l":"ReactiveRedirectCodeFlowApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.example","c":"RedirectCodeFlowApplication","l":"RedirectCodeFlowApplication()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.boot.sdk.cache","c":"SpringCache","l":"remove(K)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"setAudience(String)","u":"setAudience(java.lang.String)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"setClientId(String)","u":"setClientId(java.lang.String)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"setClientSecret(String)","u":"setClientSecret(java.lang.String)"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties","l":"setConnectionTimeout(int)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"setGroupsClaim(String)","u":"setGroupsClaim(java.lang.String)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties.Proxy","l":"setHost(String)","u":"setHost(java.lang.String)"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties.ClientProxyInfo","l":"setHostname(String)","u":"setHostname(java.lang.String)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"setIssuer(String)","u":"setIssuer(java.lang.String)"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties","l":"setOrgUrl(String)","u":"setOrgUrl(java.lang.String)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties.Proxy","l":"setPassword(String)","u":"setPassword(java.lang.String)"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties.ClientProxyInfo","l":"setPassword(String)","u":"setPassword(java.lang.String)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties.Proxy","l":"setPort(int)"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties.ClientProxyInfo","l":"setPort(int)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"setPostLogoutRedirectUri(String)","u":"setPostLogoutRedirectUri(java.lang.String)"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties","l":"setProxy(OktaClientProperties.ClientProxyInfo)","u":"setProxy(com.okta.spring.boot.sdk.config.OktaClientProperties.ClientProxyInfo)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"setProxy(OktaOAuth2Properties.Proxy)","u":"setProxy(com.okta.spring.boot.oauth.config.OktaOAuth2Properties.Proxy)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"setRedirectUri(String)","u":"setRedirectUri(java.lang.String)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"setScopes(Set)","u":"setScopes(java.util.Set)"},{"p":"com.okta.spring.boot.sdk.cache","c":"SpringCacheManager","l":"setSpringCacheManager(CacheManager)","u":"setSpringCacheManager(org.springframework.cache.CacheManager)"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties","l":"setToken(String)","u":"setToken(java.lang.String)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties.Proxy","l":"setUsername(String)","u":"setUsername(java.lang.String)"},{"p":"com.okta.spring.boot.sdk.config","c":"OktaClientProperties.ClientProxyInfo","l":"setUsername(String)","u":"setUsername(java.lang.String)"},{"p":"com.okta.spring.example.controllers","c":"SignInWidgetConfigController","l":"SignInWidgetConfigController(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"com.okta.spring.boot.sdk.cache","c":"SpringCache","l":"SpringCache(Cache)","u":"%3Cinit%3E(org.springframework.cache.Cache)"},{"p":"com.okta.spring.boot.sdk.cache","c":"SpringCacheManager","l":"SpringCacheManager()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.boot.sdk.cache","c":"SpringCacheManager","l":"SpringCacheManager(CacheManager)","u":"%3Cinit%3E(org.springframework.cache.CacheManager)"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"supports(Class)","u":"supports(java.lang.Class)"},{"p":"com.okta.spring.boot.oauth.env","c":"OktaEnvironmentPostProcessorApplicationListener","l":"supportsEventType(Class)","u":"supportsEventType(java.lang.Class)"},{"p":"com.okta.spring.boot.oauth.http","c":"UserAgentRequestInterceptor","l":"UserAgentRequestInterceptor()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.example.webflux","c":"ReactiveApplication","l":"userDetailsMono(Mono)","u":"userDetailsMono(reactor.core.publisher.Mono)"},{"p":"com.okta.spring.example.controllers","c":"WelcomeController.Welcome","l":"username"},{"p":"com.okta.spring.boot.oauth.config","c":"OktaOAuth2Properties","l":"validate(Object, Errors)","u":"validate(java.lang.Object,org.springframework.validation.Errors)"},{"p":"com.okta.spring.example.controllers","c":"WelcomeController.Welcome","l":"Welcome(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"},{"p":"com.okta.spring.example.controllers","c":"WelcomeController","l":"WelcomeController()","u":"%3Cinit%3E()"},{"p":"com.okta.spring.example.controllers","c":"SignInWidgetConfigController.WidgetConfig","l":"WidgetConfig(String, String)","u":"%3Cinit%3E(java.lang.String,java.lang.String)"}];updateSearchResults(); \ No newline at end of file diff --git a/apidocs/overview-summary.html b/apidocs/overview-summary.html index acb76f7cf..f0bf26c6c 100644 --- a/apidocs/overview-summary.html +++ b/apidocs/overview-summary.html @@ -1,11 +1,11 @@ - -Okta Spring Boot 3.0.4 API + +Okta Spring Boot 3.0.5 API - + diff --git a/apidocs/overview-tree.html b/apidocs/overview-tree.html index 82f589eb6..eddeeb290 100644 --- a/apidocs/overview-tree.html +++ b/apidocs/overview-tree.html @@ -1,11 +1,11 @@ - -Class Hierarchy (Okta Spring Boot 3.0.4 API) + +Class Hierarchy (Okta Spring Boot 3.0.5 API) - + @@ -76,6 +76,7 @@

      Class Hierarchy

      • java.lang.Object
          +
        • com.okta.spring.boot.oauth.http.Auth0ClientRequestInterceptor (implements org.springframework.http.client.ClientHttpRequestInterceptor)
        • com.okta.spring.tests.common.servlet.jwt.BasicJwtResourceServerApplication
        • com.okta.spring.tests.common.servlet.jwt.BasicJwtResourceServerApplication.MessageOfTheDayController
        • com.okta.spring.tests.common.servlet.opaquetoken.BasicOpaqueTokenResourceServerApplication
        • diff --git a/apidocs/type-search-index.js b/apidocs/type-search-index.js index 17681cb2e..3ae8714b5 100644 --- a/apidocs/type-search-index.js +++ b/apidocs/type-search-index.js @@ -1 +1 @@ -typeSearchIndex = [{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"com.okta.spring.boot.oauth","l":"AuthoritiesProvider"},{"p":"com.okta.spring.tests.common.servlet.jwt","l":"BasicJwtResourceServerApplication"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","l":"BasicOpaqueTokenResourceServerApplication"},{"p":"com.okta.spring.tests.common.servlet.code","l":"BasicRedirectCodeFlowApplication"},{"p":"com.okta.spring.boot.sdk.config","l":"OktaClientProperties.ClientProxyInfo"},{"p":"com.okta.example.cloud.configserver","l":"ConfigServerApplication"},{"p":"com.okta.spring.example","l":"HostedLoginCodeFlowExampleApplication"},{"p":"com.okta.spring.example","l":"ImplicitFlowApplication"},{"p":"com.okta.spring.example.controllers","l":"LoginController"},{"p":"com.okta.spring.tests.common.servlet.jwt","l":"BasicJwtResourceServerApplication.MessageOfTheDayController"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","l":"BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController"},{"p":"com.okta.spring.tests.common.reactive.implicit","l":"ReactiveImplicitFlowApplication.MessageOfTheDayController"},{"p":"com.okta.spring.boot.oauth.env","l":"OIDCMetadata"},{"p":"com.okta.spring.boot.oauth","l":"Okta"},{"p":"com.okta.spring.boot.sdk.config","l":"OktaClientProperties"},{"p":"com.okta.spring.boot.oauth.env","l":"OktaEnvironmentPostProcessorApplicationListener"},{"p":"com.okta.spring.boot.oauth.config","l":"OktaOAuth2Properties"},{"p":"com.okta.spring.boot.sdk","l":"OktaSdkConfig"},{"p":"com.okta.spring.boot.oauth.config","l":"OktaOAuth2Properties.Proxy"},{"p":"com.okta.spring.example.webflux","l":"ReactiveApplication"},{"p":"com.okta.spring.tests.common.reactive.implicit","l":"ReactiveImplicitFlowApplication"},{"p":"com.okta.spring.tests.common.reactive.code","l":"ReactiveRedirectCodeFlowApplication"},{"p":"com.okta.spring.example","l":"RedirectCodeFlowApplication"},{"p":"com.okta.spring.example.controllers","l":"SignInWidgetConfigController"},{"p":"com.okta.spring.boot.sdk.cache","l":"SpringCache"},{"p":"com.okta.spring.boot.sdk.cache","l":"SpringCacheManager"},{"p":"com.okta.spring.boot.oauth.http","l":"UserAgentRequestInterceptor"},{"p":"com.okta.spring.example.controllers","l":"WelcomeController.Welcome"},{"p":"com.okta.spring.example.controllers","l":"WelcomeController"},{"p":"com.okta.spring.example.controllers","l":"SignInWidgetConfigController.WidgetConfig"}];updateSearchResults(); \ No newline at end of file +typeSearchIndex = [{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"com.okta.spring.boot.oauth.http","l":"Auth0ClientRequestInterceptor"},{"p":"com.okta.spring.boot.oauth","l":"AuthoritiesProvider"},{"p":"com.okta.spring.tests.common.servlet.jwt","l":"BasicJwtResourceServerApplication"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","l":"BasicOpaqueTokenResourceServerApplication"},{"p":"com.okta.spring.tests.common.servlet.code","l":"BasicRedirectCodeFlowApplication"},{"p":"com.okta.spring.boot.sdk.config","l":"OktaClientProperties.ClientProxyInfo"},{"p":"com.okta.example.cloud.configserver","l":"ConfigServerApplication"},{"p":"com.okta.spring.example","l":"HostedLoginCodeFlowExampleApplication"},{"p":"com.okta.spring.example","l":"ImplicitFlowApplication"},{"p":"com.okta.spring.example.controllers","l":"LoginController"},{"p":"com.okta.spring.tests.common.servlet.jwt","l":"BasicJwtResourceServerApplication.MessageOfTheDayController"},{"p":"com.okta.spring.tests.common.servlet.opaquetoken","l":"BasicOpaqueTokenResourceServerApplication.MessageOfTheDayController"},{"p":"com.okta.spring.tests.common.reactive.implicit","l":"ReactiveImplicitFlowApplication.MessageOfTheDayController"},{"p":"com.okta.spring.boot.oauth.env","l":"OIDCMetadata"},{"p":"com.okta.spring.boot.oauth","l":"Okta"},{"p":"com.okta.spring.boot.sdk.config","l":"OktaClientProperties"},{"p":"com.okta.spring.boot.oauth.env","l":"OktaEnvironmentPostProcessorApplicationListener"},{"p":"com.okta.spring.boot.oauth.config","l":"OktaOAuth2Properties"},{"p":"com.okta.spring.boot.sdk","l":"OktaSdkConfig"},{"p":"com.okta.spring.boot.oauth.config","l":"OktaOAuth2Properties.Proxy"},{"p":"com.okta.spring.example.webflux","l":"ReactiveApplication"},{"p":"com.okta.spring.tests.common.reactive.implicit","l":"ReactiveImplicitFlowApplication"},{"p":"com.okta.spring.tests.common.reactive.code","l":"ReactiveRedirectCodeFlowApplication"},{"p":"com.okta.spring.example","l":"RedirectCodeFlowApplication"},{"p":"com.okta.spring.example.controllers","l":"SignInWidgetConfigController"},{"p":"com.okta.spring.boot.sdk.cache","l":"SpringCache"},{"p":"com.okta.spring.boot.sdk.cache","l":"SpringCacheManager"},{"p":"com.okta.spring.boot.oauth.http","l":"UserAgentRequestInterceptor"},{"p":"com.okta.spring.example.controllers","l":"WelcomeController.Welcome"},{"p":"com.okta.spring.example.controllers","l":"WelcomeController"},{"p":"com.okta.spring.example.controllers","l":"SignInWidgetConfigController.WidgetConfig"}];updateSearchResults(); \ No newline at end of file diff --git a/index.html b/index.html index 1e959b994..6732ee0b1 100644 --- a/index.html +++ b/index.html @@ -21,40 +21,11 @@ - +
      \ No newline at end of file diff --git a/xref/allclasses-frame.html b/xref/allclasses-frame.html index 8fcd93664..8c24f5b7a 100644 --- a/xref/allclasses-frame.html +++ b/xref/allclasses-frame.html @@ -11,6 +11,7 @@

      All Classes

        +
      • Auth0ClientRequestInterceptor
      • AuthoritiesProvider
      • AuthorityProvidersConfig
      • BasicJwtResourceServerApplication
      • diff --git a/xref/com/okta/example/cloud/configserver/package-frame.html b/xref/com/okta/example/cloud/configserver/package-frame.html index acd2e38b4..7e606ff4b 100644 --- a/xref/com/okta/example/cloud/configserver/package-frame.html +++ b/xref/com/okta/example/cloud/configserver/package-frame.html @@ -4,7 +4,7 @@ - Okta Spring Boot 3.0.4 Reference Package com.okta.example.cloud.configserver + Okta Spring Boot 3.0.5 Reference Package com.okta.example.cloud.configserver diff --git a/xref/com/okta/example/cloud/configserver/package-summary.html b/xref/com/okta/example/cloud/configserver/package-summary.html index dec2a762d..247491bcd 100644 --- a/xref/com/okta/example/cloud/configserver/package-summary.html +++ b/xref/com/okta/example/cloud/configserver/package-summary.html @@ -4,7 +4,7 @@ - Okta Spring Boot 3.0.4 Reference Package com.okta.example.cloud.configserver + Okta Spring Boot 3.0.5 Reference Package com.okta.example.cloud.configserver @@ -23,7 +23,7 @@
      • Index
      • Help
      -
      Okta Spring Boot 3.0.4 Reference
      +
      Okta Spring Boot 3.0.5 Reference