Class GoogleTokenProvider
- java.lang.Object
-
- io.helidon.security.spi.SynchronousProvider
-
- io.helidon.security.providers.google.login.GoogleTokenProvider
-
- All Implemented Interfaces:
AuthenticationProvider
,OutboundSecurityProvider
,SecurityProvider
public final class GoogleTokenProvider extends SynchronousProvider implements AuthenticationProvider, OutboundSecurityProvider
Provider supporting login button from front-end. This expects the token to be sent in a header. By default, Authorization header with bearer is expected, e.g.:Authorization: bearer abcdefg_google_id_token_from_login_button_callback
. Configure login button as described here: https://developers.google.com/identity/sign-in/web/sign-in See google-login example.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
GoogleTokenProvider.Builder
Fluent API builder to buildGoogleTokenProvider
instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static GoogleTokenProvider.Builder
builder()
Fluent API builder to buildGoogleTokenProvider
instance.static GoogleTokenProvider
create(Config config)
Create an instance from configuration.boolean
isOutboundSupported(ProviderRequest providerRequest, SecurityEnvironment outboundEnv, EndpointConfig outboundConfig)
Check if the path to be executed is supported by this security provider.protected AuthenticationResponse
syncAuthenticate(ProviderRequest providerRequest)
Synchronous authentication.protected OutboundSecurityResponse
syncOutbound(ProviderRequest providerRequest, SecurityEnvironment outboundEnv, EndpointConfig outboundEndpointConfig)
Synchronous outbound security.-
Methods inherited from class io.helidon.security.spi.SynchronousProvider
authenticate, authorize, outboundSecurity, syncAuthorize
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.helidon.security.spi.AuthenticationProvider
authenticate
-
Methods inherited from interface io.helidon.security.spi.OutboundSecurityProvider
outboundSecurity
-
Methods inherited from interface io.helidon.security.spi.SecurityProvider
supportedAnnotations, supportedAttributes, supportedConfigKeys, supportedCustomObjects
-
-
-
-
Method Detail
-
create
public static GoogleTokenProvider create(Config config)
Create an instance from configuration. Used by Security when configuring this provider from configuration by class name.- Parameters:
config
- Configuration located on the provider's key- Returns:
- Instance configured from the configuration instance
-
builder
public static GoogleTokenProvider.Builder builder()
Fluent API builder to buildGoogleTokenProvider
instance.- Returns:
- Builder with just default values
-
syncAuthenticate
protected AuthenticationResponse syncAuthenticate(ProviderRequest providerRequest)
Description copied from class:SynchronousProvider
Synchronous authentication.- Overrides:
syncAuthenticate
in classSynchronousProvider
- Parameters:
providerRequest
- context with environment, subject(s) etc.- Returns:
- authentication response
- See Also:
AuthenticationProvider.authenticate(ProviderRequest)
-
isOutboundSupported
public boolean isOutboundSupported(ProviderRequest providerRequest, SecurityEnvironment outboundEnv, EndpointConfig outboundConfig)
Description copied from interface:OutboundSecurityProvider
Check if the path to be executed is supported by this security provider. Defaults to true.- Specified by:
isOutboundSupported
in interfaceOutboundSecurityProvider
- Parameters:
providerRequest
- context with environment, subject(s) etc. that was receivedoutboundEnv
- environment for outbound calloutboundConfig
- outbound endpoint configuration- Returns:
- true if this identity propagator can generate required headers for the path defined
-
syncOutbound
protected OutboundSecurityResponse syncOutbound(ProviderRequest providerRequest, SecurityEnvironment outboundEnv, EndpointConfig outboundEndpointConfig)
Description copied from class:SynchronousProvider
Synchronous outbound security.- Overrides:
syncOutbound
in classSynchronousProvider
- Parameters:
providerRequest
- context with environment, subject(s) etc.outboundEnv
- environment of this outbound calloutboundEndpointConfig
- endpoint config for outbound call- Returns:
- outbound response
- See Also:
OutboundSecurityProvider.outboundSecurity(ProviderRequest, SecurityEnvironment, EndpointConfig)
,OutboundSecurityProvider.isOutboundSupported(ProviderRequest, SecurityEnvironment, EndpointConfig)
-
-