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
tokenEndpointURLThis URL has the functionality to exchange OAuth 2.0 Client Credentials Grant for a OAuth 2.0 token.
requestingScopesSet of scopes that the client should request.
clientCredentialsHandlerThis 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
tokenEndpointURLThis URL has the functionality to exchange OAuth 2.0 Client Credentials Grant for a OAuth 2.0 token.
requestingScopesSet of scopes that the client should request.
namethe user name
secretthe 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) throwsParameters
configThe SAP BTP configuration object