OAuth2ClientCredentialsAuthenticationParameters
public struct OAuth2ClientCredentialsAuthenticationParameters
extension OAuth2ClientCredentialsAuthenticationParameters: DiscoveryServiceConfigurable
A wrapper for the expected input parameters for the OAuth2 Client Credentials Grant.
-
This URL has the functionality to exchange OAuth 2.0 Client Credentials Grant for an OAuth 2.0 token.
Declaration
Swift
public let tokenEndpointURL: URL
-
Set of scopes that the client should request.
Declaration
Swift
public let requestingScopes: Set<String>
-
This block is invoked before the token request is sent. You can implement custom authorization methods if the token endpoint requires it.
Declaration
Swift
public let clientCredentialsHandler: (URLRequest) throws -> URLRequest
-
Authentication parameters for the Client Credentials Grant.
Declaration
Swift
public init(tokenEndpointURL: URL, requestingScopes: Set<String> = [], clientCredentialsHandler: @escaping (URLRequest) throws -> URLRequest)
Parameters
tokenEndpointURL
This URL has the functionality to exchange OAuth 2.0 Client Credentials Grant for a OAuth 2.0 token.
requestingScopes
Set of scopes that the client should request.
clientCredentialsHandler
This block is invoked before the token request is sent. You can implement custom authorization methods if the token endpoint requires it.
-
Authentication parameters for the Client Credentials Grant.
Throws
OAuth2Error.invalidArgument if the basic authentication string cannot be created.Declaration
Swift
public init(tokenEndpointURL: URL, requestingScopes: Set<String> = [], name: String, secret: String)
Parameters
tokenEndpointURL
This URL has the functionality to exchange OAuth 2.0 Client Credentials Grant for a OAuth 2.0 token.
requestingScopes
Set of scopes that the client should request.
name
the user name
secret
the user secret
-
Instantiates the OAuth2ClientCredentialsAuthenticationParameters from the SAP BTP configuration object. The configuration object is expected in the following format:
let configuration: [String: String] = [ "tokenEndpointURL": "<#token endpoint URL string#>", "scope": "<#scope#>", // Optional, structure described at https://tools.ietf.org/html/rfc6749#section-3.3 "kState": "<#state#>" "name": "<#name#>", "secret": "<#secret#>" ]
The URL strings are converted to URL using the URL object’s “string” initializer. If the initializer returns
nil
, an error is raised.Throws
ConfigurationError if the configuration is not matching.Declaration
Swift
public init(discoveryServiceConfig config: Any) throws
Parameters
config
The SAP BTP configuration object