Defines the request format for api authentication requests
Defines the request format for api authentication requests
the user email
the OAuth2Info as returned by some Oauth2 service on the client side (eg: JS app)
A Reads instance for the LoginJson case class
A Reads instance for the LoginJson case class
A Reads instance for the OAuth2Info case class
A Reads instance for the OAuth2Info case class
Subclasses need to implement this to specify the authentication method
Subclasses need to implement this to specify the authentication method
Authenticates the user and fills the profile information.
Authenticates the user and fills the profile information.
the current request
a future AuthenticationResult
Authenticates a user
Authenticates a user
Concur does not return a JSON structure, but uses an XML structure.
Concur does not return a JSON structure, but uses an XML structure.
Unfortunately, Concur does not stick to the OAuth2 spec saying that a HTTP POST must be used to get the access token.
Unfortunately, Concur does not stick to the OAuth2 spec saying that a HTTP POST must be used to get the access token. Instead, a HTTP GET is used in their implementation.
The id for this provider.
The id for this provider.
Reads a property from the application.conf
Reads a property from the application.conf
The error returned for malformed requests
The error returned for malformed requests
Masks sensitive information so that it doesn't end up in the logs.
Returns the provider name
Returns the provider name
A Concur OAuth2 Provider
For the documentation of Concur’s OAuth2 implementation please refer to https://developer.concur.com/api-documentation/oauth-20-0/web-flow
Unfortunately, Concur does not implement the exact OAuth2 specification. It differs in two main points: