Child pages
  • OAuthServiceBuilder

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Cache
indextrue
refresh100d
showRefreshtrue
iddoc
titleRefresh page
showDatetrue
retryEnable

servoy sReturnTypes2100%height: 30px;2Supported ClientssWordListNGClient

servoy sSummary12%30%58%height: 30px;3Methods SummaryAdd some more parameters to the authorization url.Creates an OAuth service that can be used to obtain an access token and access protected data.Creates an OAuth service that can be used to obtain an access token and access protected data.Configure the service with a callback function to be executed when the service is ready to use.Set the client secret of the application.OPTIONAL This is a way to override the default deeplink method name, which is 'deeplink_svy_oauth'.Request always the same scope.Set the domain if the API supports it (e.Get the authorization url.Get the authorization url.Configure if the code/tokens are going to be received as a query or as a url fragment.Configures the OAuth flow.Request any unique scope per each access token request.Configures the anti forgery session state.Set the tenant identifiers/organization if the API supports it (e.Configures the service with Proof Key for Code Exchange, which prevents authorization code interception attacks.

functionservoy sDetail2100%height:30px2Methods DetailsadditionalParametersname

additionalParameters(params)

dessIndent
Add some more parameters to the authorization url.
prs

Parameters

sIndentparamsa json containing the parameters and their values e.g. {'param1': 'value1', 'param2': 'value2'}
ret

Returns

sIndent the service builder for method chaining
clients

Supported Clients

sIndentNGClient
sam

Sample

sIdentjavascript
lastDetailRowbuildname

build(api)

dessIndent
Creates an OAuth service that can be used to obtain an access token and access protected data.
prs

Parameters

sIndentapia custom api, see plugins.oauth.customApi
ret

Returns

sIndent an OAuthService object that can be used to make signed requests to the api
clients

Supported Clients

sIndentNGClient
sam

Sample

sIdentjavascript
lastDetailRow
buildname

build(api)

dessIndent
Creates an OAuth service that can be used to obtain an access token and access protected data.
prs

Parameters

sIndentapian OAuth provider id, see plugins.oauth.OAuthProviders
ret

Returns

sIndent an OAuthService object that can be used to make signed requests to the api
clients

Supported Clients

sIndentNGClient
sam

Sample

sIdentjavascript
lastDetailRow
callbackname

callback(callback, timeout)

dessIndent
Configure the service with a callback function to be executed when the service is ready to use.
After the access token is returned by the server, this callback function is executed.
prs

Parameters

sIndentcallbacka function in a scope or formtimeoutmax number of seconds in which the callback method should be executed (with success or error message) Please note that the timeout should be enough for the user to login and accept permissions.
ret

Returns

sIndent the service builder for method chaining
clients

Supported Clients

sIndentNGClient
sam

Sample

sIdentjavascript
lastDetailRow
clientSecretname

clientSecret(clientSecret)

dessIndent
Set the client secret of the application.
prs

Parameters

sIndentclientSecreta secret known only to the application and the authorization server
ret

Returns

sIndent the service builder for method chaining
clients

Supported Clients

sIndentNGClient
sam

Sample

sIdentjavascript
lastDetailRow
deeplinkname

deeplink(deeplink)

dessIndent
OPTIONAL This is a way to override the default deeplink method name, which is 'deeplink_svy_oauth'.
The deeplink method is a global method that receives the code needed to obtain the access token from the OAuth provider.

NOTE: The deeplink method name is strongly related to the redirect url configured for the application.
If the OAuth provider (eg. Microsoft AD, Likedin) requires to configure a full redirect url then it should be of the form:
https://example.com/<solution_name>/m/<deeplinkmethod> - where <deeplinkmethod> is the name configured with the service builder
https://example.com/<solution_name>/m/deeplink_svy_oauth - if the deeplink method name was not overridden

If the deeplink method with the provided name does not exist in the solution,
then a default deeplink method is generated under the hood with the solution model.
If a global method with the provided name already exists in the solution, then it should set the access
token on the service and handle possible errors.
prs

Parameters

sIndentdeeplinka global scope method name
ret

Returns

sIndent the service builder for method chaining
clients

Supported Clients

sIndentNGClient
sam

Sample

sIdentjavascript
lastDetailRow
defaultScopename

defaultScope(scope)

dessIndent
Request always the same scope.
Scope is a mechanism in OAuth 2.0 to limit an application's access to a user's account.
An application can request one or more scopes, separated by space.
This information is then presented to the user in the consent screen, and the access token issued
to the application will be limited to the scopes granted.
prs

Parameters

sIndentscopethe default scope
ret

Returns

sIndent the service builder for method chaining
clients

Supported Clients

sIndentNGClient
sam

Sample

sIdentjavascript
lastDetailRow
domainname

domain(domain)

dessIndent
Set the domain if the API supports it (e.g.Okta)
prs

Parameters

sIndentdomain ;
ret

Returns

sIndent the service builder for method chaining
clients

Supported Clients

sIndentNGClient
sam

Sample

sIdentjavascript
lastDetailRow
getUsedAuthorizationURLname

getUsedAuthorizationURL(api)

dessIndent
Get the authorization url. This is for DEBUGGING PURPOSES ONLY.
prs

Parameters

sIndentapia custom api builder
ret

Returns

sIndent the used authorization url
clients

Supported Clients

sIndentNGClient
sam

Sample

sIdentjavascript
lastDetailRow
getUsedAuthorizationURLname

getUsedAuthorizationURL(api)

dessIndent
Get the authorization url. This is for DEBUGGING PURPOSES ONLY.
prs

Parameters

sIndentapian OAuth provider id, see plugins.oauth.OAuthProviders
ret

Returns

sIndent the used authorization url
clients

Supported Clients

sIndentNGClient
sam

Sample

sIdentjavascript
lastDetailRow
responseModename

responseMode(mode)

dessIndent
Configure if the code/tokens are going to be received as a query or as a url fragment.
Will be ignored if the response type is token/id_token or if the oauth provider does not support it.

For the "fragment" response mode the redirect url configured for the oauth app needs to be of the following form
https://example.com/servoy-service/oauth/solutions/<solution_name>/m/<deeplinkmethod> - where <deeplinkmethod> is the name configured with the service builder
prs

Parameters

sIndentmodecan be "query" or "fragment"
ret

Returns

sIndent the service builder for method chaining
clients

Supported Clients

sIndentNGClient
sam

Sample

sIdentjavascript
lastDetailRow
responseTypename

responseType(response_type)

dessIndent
Configures the OAuth flow. Defaults to "code" (authorization code flow) if not set.
Use response type "token" for the implicit grant flow.
Use response type "id_token" for OpenID Connect sign-in. In this case the response is a JWT token which can be used to verify the identity of a user.
OAuth providers may allow combinations of "code" "id_token" "token".
prs

Parameters

sIndentresponse_typeone or a combination of "code" "id_token" "token"
ret

Returns

sIndent the service builder for method chaining
clients

Supported Clients

sIndentNGClient
sam

Sample

sIdentjavascript
lastDetailRow
scopename

scope(scope)

dessIndent
Request any unique scope per each access token request.
Scope is a mechanism in OAuth 2.0 to limit an application's access to a user's account.
An application can request one or more scopes, separated by space.
This information is then presented to the user in the consent screen, and the access token issued
to the application will be limited to the scopes granted.
prs

Parameters

sIndentscopeone or multiple scopes separated by space
ret

Returns

sIndent the service builder for method chaining
clients

Supported Clients

sIndentNGClient
sam

Sample

sIdentjavascript
lastDetailRow
statename

state(state)

dessIndent
Configures the anti forgery session state. This is required in some APIs (like Facebook's).
prs

Parameters

sIndentstate ;
ret

Returns

sIndent the service builder for method chaining
clients

Supported Clients

sIndentNGClient
sam

Sample

sIdentjavascript
lastDetailRow
tenantname

tenant(tenant)

dessIndent
Set the tenant identifiers/organization if the API supports it (e.g.Microsoft AD)
prs

Parameters

sIndenttenant ;
ret

Returns

sIndent the service builder for method chaining
clients

Supported Clients

sIndentNGClient
sam

Sample

sIdentjavascript
lastDetailRow
withPKCEname

withPKCE()

dessIndent
Configures the service with Proof Key for Code Exchange, which prevents authorization code interception attacks.
See more at https://datatracker.ietf.org/doc/html/rfc7636.
ret

Returns

sIndent the service builder for method chaining
clients

Supported Clients

sIndentNGClient
sam

Sample

sIdentjavascript
lastDetailRow