@acceleratxr/core_sdk / OAuthProvider

Class: OAuthProvider#

Represents an external authentication method that can be used to authenticate new and existing users using supported OAuth protocols.

Hierarchy#

Index#

Constructors#

Properties#

Accessors#

Constructors#

constructor#

+ new OAuthProvider(other?: any): OAuthProvider

Overrides EntityBase.constructor

Defined in src/models/OAuthProvider.ts:96

Parameters:#

Name

Type

other?

any

Returns: OAuthProvider

Properties#

authClass#

authClass: string = OAuthProviderClasses.DEFAULT

Defined in src/models/OAuthProvider.ts:37

The name of the authorization class that will handle OAuth requests for this provider. Default is oauth.DefaultOAuth2Handler.


authorizationURL#

Optional authorizationURL: undefined | string

Defined in src/models/OAuthProvider.ts:40

The URL of the provider’s API that will be used to perform authorization requests.


clientID#

clientID: string = “”

Defined in src/models/OAuthProvider.ts:43

The unique identifier that has been provided by the OAuth provider.


clientSecret#

clientSecret: string = “”

Defined in src/models/OAuthProvider.ts:46

The shared secret that has been provided by the OAuth provider.


dateCreated#

dateCreated: Date = new Date()

Inherited from EntityBase.dateCreated

Defined in src/EntityBase.ts:18

The date and time that the object was created.


dateModified#

dateModified: Date = new Date()

Inherited from EntityBase.dateModified

Defined in src/EntityBase.ts:23

The date and time that the object was last modified.


icon#

Optional icon: undefined | string

Defined in src/models/OAuthProvider.ts:49

The URL of the provider’s icon to display in an application’s UI.


name#

name: string = “”

Defined in src/models/OAuthProvider.ts:34

The unique name of the provider that can be used for authentication.


otherConfig#

otherConfig: any = null

Defined in src/models/OAuthProvider.ts:52

A structure containing additional configuration for the provider required by the authClass.


pkce#

pkce: boolean | string = false

Defined in src/models/OAuthProvider.ts:58

Indicates whether PKCE is required by the OAuth provider. Optionally, set the value to the desired algorithm of the PKCE challenge method (e.g. S256).


profileMap#

profileMap: any = undefined

Defined in src/models/OAuthProvider.ts:78

An object that describes how to map the properties of the profile obtained from the provider’s profileURL to the format that we expect internally. The keys of the map of the name of the properties we expect. The values for each key is a snippet of JavaScript code that can be executed to compute the desired value.

Example (Discord):

{
    id: "profile.id",
    alias: "profile.global_name || profile.username",
    avatar: "profile.avatar",
    email: "profile.email",
    locale: "profile.locale",
    username: "profile.username",
    verified: "json.verified",
}

profileURL#

Optional profileURL: undefined | string

Defined in src/models/OAuthProvider.ts:81

The URL of the provider’s API that the user profile can be retrieved from.


protocol#

protocol: OAuthProviderProtocol = OAuthProviderProtocol.OAUTH_2

Defined in src/models/OAuthProvider.ts:84

The OAuth protocol version supported by the provider.


redirectURIs#

redirectURIs: string[] = []

Defined in src/models/OAuthProvider.ts:87

The list of callback URIs that have been registered with the OAuth provider.


scope#

scope: string[] = []

Defined in src/models/OAuthProvider.ts:90

The list of scopes to request during the authentication process.


title#

Optional title: undefined | string

Defined in src/models/OAuthProvider.ts:93

The name of the provider that will be displayed to the user.


tokenURL#

Optional tokenURL: undefined | string

Defined in src/models/OAuthProvider.ts:96

The URL of the provider’s API that will perform token exchange.


uid#

uid: string = uuid.v4()

Inherited from EntityBase.uid

Defined in src/EntityBase.ts:13

The universally unique identifier of the object.


version#

version: number = 0

Inherited from EntityBase.version

Defined in src/EntityBase.ts:28

The optimistic locking version of the object.

Accessors#

ClassName#

Staticget ClassName(): string

Defined in src/models/OAuthProvider.ts:31

Returns: string