External JWT Identity Provider APIs
Overview
This API has been available since 1.1.0
This is a special type of identity provider that is only used via the JWT Reconcile API. This identity provider defines the claims inside the incoming JWT and how they map to fields in the FusionAuth User object.
In order for this identity provider to use the JWT, it also needs the public key or HMAC secret that the JWT was signed with. FusionAuth will verify that the JWT is valid and has not expired. Once the JWT has been validated, FusionAuth will reconcile it to ensure that the User exists and is up-to-date.
Operations
Create an External JWT Identity Provider
Request
Create an Identity Provider using a randomly generated id
POST /api/identity-provider
Create an Identity Provider with the provided unique id
POST /api/identity-provider/{identityProviderId}
The type property in the request JSON is used to determine that you are managing an External JWT identity provider.
Request Parameters
- identityProviderId [UUID] Optional defaults to secure random UUID
-
The Id to use for the new Identity Provider. If an id is not provided, a secure random UUID is generated.
Request Body
- identityProvider.applicationConfiguration [Map<UUID, Object>] Optional
-
The configuration for each Application that the identity provider is enabled for.
- identityProvider.applicationConfiguration
[applicationId]
.createRegistration [Boolean] Optional defaults totrue
-
Determines if a UserRegistration is created for the User automatically or not. If a user doesn’t exist in FusionAuth and logs in through an identity provider, this boolean controls whether or not FusionAuth creates a registration for the User in the Application they are logging into.
- identityProvider.applicationConfiguration
[applicationId]
.enabled [Boolean] Optional defaults tofalse
-
Determines if this identity provider is enabled for the Application specified by the
applicationId
key. - identityProvider.claimMap [Map<String, String>] Optional
-
A map of incoming claims to User fields, User data or Registration data. The key of the map is the incoming claim name from the configured identity provider. The following are allowed values:
-
birthDate
-
firstName
-
lastName
-
fullName
-
middleName
-
mobilePhone
-
imageUrl
-
timezone
-
UserData
-
RegistrationData
-
- identityProvider.debug [Boolean] Optional defaults to
false
Available since 1.7.3 -
Determines if debug is enabled for this provider. When enabled, each time this provider is invoked to reconcile a login an Event Log will be created.
This is useful for debugging purposes, but is not intended to be left on during production. It should be enabled during integration or if you are experiencing an issue with this identity provider.
- identityProvider.domains [Array<String>] Optional
-
An array of domains that are managed by this Identity Provider.
- identityProvider.enabled [Boolean] Optional defaults to
false
-
Determines if this provider is enabled. If it is false then it will be disabled globally.
- identityProvider.headerKeyParameter [String] Required
-
The name header claim that identifies the public key used to verify the signature. In most cases this be
kid
orx5t
. - identityProvider.keys [Map<String, String>] Optional
-
A map of public keys used to verify JWT signatures issued from the configured Identity Provider. The key is the key identifier, this may be referred to as the
kid
or for X.509 certificates thex5t
claim may be used.The map may contain one entry with an empty map key. When provided this key will be used when no header claim is provided to indicate which public key should be used to verify the signature. Generally speaking this will only be used when the Identity Provider issues JWTs without a key identifier in the header.
- identityProvider.lambdaConfiguration.reconcileId [UUID] Optional Available since 1.17.0
-
The unique Id of the lambda to used during the user reconcile process to map custom claims from the external identity provider to the FusionAuth user. This may be used in addition to, or in place of the claim mappings.
The specified Lambda Id must be of type
ExternalJWTReconcile
- identityProvider.name [String] Required
-
The name of the Identity Provider.
- identityProvider.oauth2.authorization_endpoint [String] Optional
-
The authorization endpoint for this Identity Provider. This value is not utilized by FusionAuth is only provided to be returned by the Lookup Identity Provider API response. During integration you may then utilize this value to perform the browser redirect to the OAuth2 authorize endpoint.
- identityProvider.oauth2.token_endpoint [String] Optional
-
The token endpoint for this Identity Provider. This value is not utilized by FusionAuth is only provided to be returned by the Lookup Identity Provider API response. During integration you may then utilize this value to complete the OAuth2 grant workflow.
- identityProvider.type [String] Required
-
This field must be set to
ExternalJWT
. - identityProvider.uniqueIdentityClaim [String] Required
-
The name of the claim that represents the unique identify of the User. This will generally be
email
or the name of the claim that provides the email address.
{
"identityProvider": {
"claimMap": {
"first_name": "firstName",
"last_name": "lastName",
"dept": "RegistrationData"
},
"debug": false,
"domains": [
"acme.com",
"acme.org"
],
"enabled": true,
"headerKeyParameter" : "kid",
"name": "Acme Corp. ADFS",
"oauth2" : {
"authorization_endpoint" : "https://acme.com/adfs/oauth2/authorize?client_id=cf3b00da-9551-460a-ad18-33232e6cbff0&response_type=code&redirect_uri=https://acme.com/oauth2/redirect",
"token_endpoint" : "https://acme.com/adfs/oauth2/token"
},
"type": "ExternalJWT",
"uniqueIdentityClaim": "email"
}
}
Response
Code | Description |
---|---|
200 |
The request was successful. The response will contain a JSON body. |
400 |
The request was invalid and/or malformed. The response will contain an Errors JSON Object with the specific errors. |
401 |
You did not supply a valid Authorization header. The header was omitted or your API key was not valid. The response will be empty. See Authentication. |
500 |
There was an internal error. A stack trace is provided and logged in the FusionAuth log files. The response will be empty. |
Response Body
- identityProvider.applicationConfiguration [Map<UUID, Object>]
-
The configuration for each Application that the identity provider is enabled for.
- identityProvider.applicationConfiguration
[applicationId]
.createRegistration [Boolean] -
Determines if a UserRegistration is created for the User automatically or not. If a user doesn’t exist in FusionAuth and logs in through an identity provider, this boolean controls whether or not FusionAuth creates a registration for the User in the Application they are logging into.
- identityProvider.applicationConfiguration
[applicationId]
.enabled [Boolean] -
Determines if this identity provider is enabled for the Application specified by the
applicationId
key. - identityProvider.claimMap [Map<String, String>]
-
A map of incoming claims to User fields, User data or Registration data. The key of the map is the incoming claim name from the configured identity provider. The following are allowed values:
-
birthDate
-
firstName
-
lastName
-
fullName
-
middleName
-
mobilePhone
-
imageUrl
-
timezone
-
UserData
-
RegistrationData
-
- identityProvider.debug [Boolean] Available since 1.7.3
-
Determines if debug is enabled for this provider. When enabled, each time this provider is invoked to reconcile a login an Event Log will be created.
- identityProvider.domains [Array<String>]
-
An array of domains that are managed by this Identity Provider.
- identityProvider.enabled [Boolean]
-
Determines if this provider is enabled. If it is false then it will be disabled globally.
- identityProvider.headerKeyParameter [String]
-
The name header claim that identifies the public key used to verify the signature. In most cases this be
kid
orx5t
. - identityProvider.id [UUID]
-
The unique identifier for the identity provider.
- identityProvider.insertInstant [Long]
-
The instant that the provider was added to the FusionAuth database.
- identityProvider.lastUpdateInstant [Long]
-
The instant that the provider was updated in the FusionAuth database.
- identityProvider.keys [Map<String, String>]
-
A map of public keys used to verify JWT signatures issued from the configured Identity Provider. The key is the key identifier, this may be referred to as the
kid
or for X.509 certificates thex5t
claim may be used.The map may contain one entry with an empty map key. When provided this key will be used when no header claim is provided to indicate which public key should be used to verify the signature. Generally speaking this will only be used when the Identity Provider issues JWTs without a key identifier in the header.
- identityProvider.lambdaConfiguration.reconcileId [UUID] Available since 1.17.0
-
The unique Id of the lambda to used during the user reconcile process to map custom claims from the external identity provider to the FusionAuth user.
- identityProvider.name [String]
-
The name of the Identity Provider.
- identityProvider.oauth2.authorization_endpoint [String]
-
The authorization endpoint for this Identity Provider. This value is not utilized by FusionAuth is only provided to be returned by the Lookup Identity Provider API response. During integration you may then utilize this value to perform the browser redirect to the OAuth2 authorize endpoint.
- identityProvider.oauth2.token_endpoint [String]
-
The token endpoint for this Identity Provider. This value is not utilized by FusionAuth is only provided to be returned by the Lookup Identity Provider API response. During integration you may then utilize this value to complete the OAuth2 grant workflow.
- identityProvider.type [String]
-
The type of this provider, this field will always be set to
ExternalJWT
. - identityProvider.uniqueIdentityClaim [String]
-
The name of the claim that represents the unique identify of the User. This will generally be
email
or the name of the claim that provides the email address.
{
"identityProvider": {
"claimMap": {
"first_name": "firstName",
"last_name": "lastName",
"dept": "RegistrationData"
},
"debug" : false,
"domains": [
"acme.com",
"acme.org"
],
"headerKeyParameter" : "kid",
"id" : "a4e78daa-33a6-4844-b081-7779af1f09a4",
"insertInstant": 1595361142909,
"lastUpdateInstant": 1595361143101,
"name": "Acme Corp. ADFS",
"oauth2" : {
"authorization_endpoint" : "https://acme.com/adfs/oauth2/authorize?client_id=cf3b00da-9551-460a-ad18-33232e6cbff0&response_type=code&redirect_uri=https://acme.com/oauth2/redirect",
"token_endpoint" : "https://acme.com/adfs/oauth2/token"
},
"type": "ExternalJWT",
"uniqueIdentityClaim": "email"
}
}
Retrieve an External JWT Identity Provider
Request
Retrieve an external JWT Identity Provider by Id
GET /api/identity-provider/{identityProviderId}
Request Parameters
- identityProviderId [UUID] Required
-
The unique Id of the Identity Provider to retrieve.
Response
Code | Description |
---|---|
200 |
The request was successful. The response will contain a JSON body. |
400 |
The request was invalid and/or malformed. The response will contain an Errors JSON Object with the specific errors. |
401 |
You did not supply a valid Authorization header. The header was omitted or your API key was not valid. The response will be empty. See Authentication. |
404 |
The object you requested doesn’t exist. The response will be empty. |
500 |
There was an internal error. A stack trace is provided and logged in the FusionAuth log files. The response will be empty. |
Response Body
- identityProvider.applicationConfiguration [Map<UUID, Object>]
-
The configuration for each Application that the identity provider is enabled for.
- identityProvider.applicationConfiguration
[applicationId]
.createRegistration [Boolean] -
Determines if a UserRegistration is created for the User automatically or not. If a user doesn’t exist in FusionAuth and logs in through an identity provider, this boolean controls whether or not FusionAuth creates a registration for the User in the Application they are logging into.
- identityProvider.applicationConfiguration
[applicationId]
.enabled [Boolean] -
Determines if this identity provider is enabled for the Application specified by the
applicationId
key. - identityProvider.claimMap [Map<String, String>]
-
A map of incoming claims to User fields, User data or Registration data. The key of the map is the incoming claim name from the configured identity provider. The following are allowed values:
-
birthDate
-
firstName
-
lastName
-
fullName
-
middleName
-
mobilePhone
-
imageUrl
-
timezone
-
UserData
-
RegistrationData
-
- identityProvider.debug [Boolean] Available since 1.7.3
-
Determines if debug is enabled for this provider. When enabled, each time this provider is invoked to reconcile a login an Event Log will be created.
- identityProvider.domains [Array<String>]
-
An array of domains that are managed by this Identity Provider.
- identityProvider.enabled [Boolean]
-
Determines if this provider is enabled. If it is false then it will be disabled globally.
- identityProvider.headerKeyParameter [String]
-
The name header claim that identifies the public key used to verify the signature. In most cases this be
kid
orx5t
. - identityProvider.id [UUID]
-
The unique identifier for the identity provider.
- identityProvider.insertInstant [Long]
-
The instant that the provider was added to the FusionAuth database.
- identityProvider.lastUpdateInstant [Long]
-
The instant that the provider was updated in the FusionAuth database.
- identityProvider.keys [Map<String, String>]
-
A map of public keys used to verify JWT signatures issued from the configured Identity Provider. The key is the key identifier, this may be referred to as the
kid
or for X.509 certificates thex5t
claim may be used.The map may contain one entry with an empty map key. When provided this key will be used when no header claim is provided to indicate which public key should be used to verify the signature. Generally speaking this will only be used when the Identity Provider issues JWTs without a key identifier in the header.
- identityProvider.lambdaConfiguration.reconcileId [UUID] Available since 1.17.0
-
The unique Id of the lambda to used during the user reconcile process to map custom claims from the external identity provider to the FusionAuth user.
- identityProvider.name [String]
-
The name of the Identity Provider.
- identityProvider.oauth2.authorization_endpoint [String]
-
The authorization endpoint for this Identity Provider. This value is not utilized by FusionAuth is only provided to be returned by the Lookup Identity Provider API response. During integration you may then utilize this value to perform the browser redirect to the OAuth2 authorize endpoint.
- identityProvider.oauth2.token_endpoint [String]
-
The token endpoint for this Identity Provider. This value is not utilized by FusionAuth is only provided to be returned by the Lookup Identity Provider API response. During integration you may then utilize this value to complete the OAuth2 grant workflow.
- identityProvider.type [String]
-
The type of this provider, this field will always be set to
ExternalJWT
. - identityProvider.uniqueIdentityClaim [String]
-
The name of the claim that represents the unique identify of the User. This will generally be
email
or the name of the claim that provides the email address.
{
"identityProvider": {
"claimMap": {
"first_name": "firstName",
"last_name": "lastName",
"dept": "RegistrationData"
},
"debug" : false,
"domains": [
"acme.com",
"acme.org"
],
"headerKeyParameter" : "kid",
"id" : "a4e78daa-33a6-4844-b081-7779af1f09a4",
"insertInstant": 1595361142909,
"lastUpdateInstant": 1595361143101,
"name": "Acme Corp. ADFS",
"oauth2" : {
"authorization_endpoint" : "https://acme.com/adfs/oauth2/authorize?client_id=cf3b00da-9551-460a-ad18-33232e6cbff0&response_type=code&redirect_uri=https://acme.com/oauth2/redirect",
"token_endpoint" : "https://acme.com/adfs/oauth2/token"
},
"type": "ExternalJWT",
"uniqueIdentityClaim": "email"
}
}
Update an External JWT Identity Provider
Request
PUT /api/identity-provider/{identityProviderId}
PATCH /api/identity-provider/{identityProviderId}
Available since 1.12.0
When using the PATCH method, use the same request body documentation that is provided for the PUT request. The PATCH method will merge the provided request parameters into the existing object, this means all parameters are optional when using the PATCH method and you only provide the values you want changed. A
null
value can be used to remove a value. Patching anArray
will result in all values from the new list being appended to the existing list, this is a known limitation to the current implementation of PATCH.
Request Body
- identityProvider.applicationConfiguration [Map<UUID, Object>] Optional
-
The configuration for each Application that the identity provider is enabled for.
- identityProvider.applicationConfiguration
[applicationId]
.createRegistration [Boolean] Optional defaults totrue
-
Determines if a UserRegistration is created for the User automatically or not. If a user doesn’t exist in FusionAuth and logs in through an identity provider, this boolean controls whether or not FusionAuth creates a registration for the User in the Application they are logging into.
- identityProvider.applicationConfiguration
[applicationId]
.enabled [Boolean] Optional defaults tofalse
-
Determines if this identity provider is enabled for the Application specified by the
applicationId
key. - identityProvider.claimMap [Map<String, String>] Optional
-
A map of incoming claims to User fields, User data or Registration data. The key of the map is the incoming claim name from the configured identity provider. The following are allowed values:
-
birthDate
-
firstName
-
lastName
-
fullName
-
middleName
-
mobilePhone
-
imageUrl
-
timezone
-
UserData
-
RegistrationData
-
- identityProvider.debug [Boolean] Optional defaults to
false
Available since 1.7.3 -
Determines if debug is enabled for this provider. When enabled, each time this provider is invoked to reconcile a login an Event Log will be created.
This is useful for debugging purposes, but is not intended to be left on during production. It should be enabled during integration or if you are experiencing an issue with this identity provider.
- identityProvider.domains [Array<String>] Optional
-
An array of domains that are managed by this Identity Provider.
- identityProvider.enabled [Boolean] Optional defaults to
false
-
Determines if this provider is enabled. If it is false then it will be disabled globally.
- identityProvider.headerKeyParameter [String] Required
-
The name header claim that identifies the public key used to verify the signature. In most cases this be
kid
orx5t
. - identityProvider.keys [Map<String, String>] Optional
-
A map of public keys used to verify JWT signatures issued from the configured Identity Provider. The key is the key identifier, this may be referred to as the
kid
or for X.509 certificates thex5t
claim may be used.The map may contain one entry with an empty map key. When provided this key will be used when no header claim is provided to indicate which public key should be used to verify the signature. Generally speaking this will only be used when the Identity Provider issues JWTs without a key identifier in the header.
- identityProvider.lambdaConfiguration.reconcileId [UUID] Optional Available since 1.17.0
-
The unique Id of the lambda to used during the user reconcile process to map custom claims from the external identity provider to the FusionAuth user. This may be used in addition to, or in place of the claim mappings.
The specified Lambda Id must be of type
ExternalJWTReconcile
- identityProvider.name [String] Required
-
The name of the Identity Provider.
- identityProvider.oauth2.authorization_endpoint [String] Optional
-
The authorization endpoint for this Identity Provider. This value is not utilized by FusionAuth is only provided to be returned by the Lookup Identity Provider API response. During integration you may then utilize this value to perform the browser redirect to the OAuth2 authorize endpoint.
- identityProvider.oauth2.token_endpoint [String] Optional
-
The token endpoint for this Identity Provider. This value is not utilized by FusionAuth is only provided to be returned by the Lookup Identity Provider API response. During integration you may then utilize this value to complete the OAuth2 grant workflow.
- identityProvider.type [String] Required
-
This field must be set to
ExternalJWT
. - identityProvider.uniqueIdentityClaim [String] Required
-
The name of the claim that represents the unique identify of the User. This will generally be
email
or the name of the claim that provides the email address.
{
"identityProvider": {
"claimMap": {
"first_name": "firstName",
"last_name": "lastName",
"dept": "RegistrationData"
},
"debug": false,
"domains": [
"acme.com",
"acme.org"
],
"enabled": true,
"headerKeyParameter" : "kid",
"name": "Acme Corp. ADFS",
"oauth2" : {
"authorization_endpoint" : "https://acme.com/adfs/oauth2/authorize?client_id=cf3b00da-9551-460a-ad18-33232e6cbff0&response_type=code&redirect_uri=https://acme.com/oauth2/redirect",
"token_endpoint" : "https://acme.com/adfs/oauth2/token"
},
"type": "ExternalJWT",
"uniqueIdentityClaim": "email"
}
}
Request Parameters
- identityProviderId [UUID] Required
-
The unique Id of the Identity Provider to update.
Request Body
- identityProvider.applicationConfiguration [Map<UUID, Object>] Optional
-
The configuration for each Application that the identity provider is enabled for.
- identityProvider.applicationConfiguration
[applicationId]
.createRegistration [Boolean] Optional defaults totrue
-
Determines if a UserRegistration is created for the User automatically or not. If a user doesn’t exist in FusionAuth and logs in through an identity provider, this boolean controls whether or not FusionAuth creates a registration for the User in the Application they are logging into.
- identityProvider.applicationConfiguration
[applicationId]
.enabled [Boolean] Optional defaults tofalse
-
Determines if this identity provider is enabled for the Application specified by the
applicationId
key. - identityProvider.claimMap [Map<String, String>] Optional
-
A map of incoming claims to User fields, User data or Registration data. The key of the map is the incoming claim name from the configured identity provider. The following are allowed values:
-
birthDate
-
firstName
-
lastName
-
fullName
-
middleName
-
mobilePhone
-
imageUrl
-
timezone
-
UserData
-
RegistrationData
-
- identityProvider.debug [Boolean] Optional defaults to
false
Available since 1.7.3 -
Determines if debug is enabled for this provider. When enabled, each time this provider is invoked to reconcile a login an Event Log will be created.
This is useful for debugging purposes, but is not intended to be left on during production. It should be enabled during integration or if you are experiencing an issue with this identity provider.
- identityProvider.domains [Array<String>] Optional
-
An array of domains that are managed by this Identity Provider.
- identityProvider.enabled [Boolean] Optional defaults to
false
-
Determines if this provider is enabled. If it is false then it will be disabled globally.
- identityProvider.headerKeyParameter [String] Required
-
The name header claim that identifies the public key used to verify the signature. In most cases this be
kid
orx5t
. - identityProvider.keys [Map<String, String>] Optional
-
A map of public keys used to verify JWT signatures issued from the configured Identity Provider. The key is the key identifier, this may be referred to as the
kid
or for X.509 certificates thex5t
claim may be used.The map may contain one entry with an empty map key. When provided this key will be used when no header claim is provided to indicate which public key should be used to verify the signature. Generally speaking this will only be used when the Identity Provider issues JWTs without a key identifier in the header.
- identityProvider.lambdaConfiguration.reconcileId [UUID] Optional Available since 1.17.0
-
The unique Id of the lambda to used during the user reconcile process to map custom claims from the external identity provider to the FusionAuth user. This may be used in addition to, or in place of the claim mappings.
The specified Lambda Id must be of type
ExternalJWTReconcile
- identityProvider.name [String] Required
-
The name of the Identity Provider.
- identityProvider.oauth2.authorization_endpoint [String] Optional
-
The authorization endpoint for this Identity Provider. This value is not utilized by FusionAuth is only provided to be returned by the Lookup Identity Provider API response. During integration you may then utilize this value to perform the browser redirect to the OAuth2 authorize endpoint.
- identityProvider.oauth2.token_endpoint [String] Optional
-
The token endpoint for this Identity Provider. This value is not utilized by FusionAuth is only provided to be returned by the Lookup Identity Provider API response. During integration you may then utilize this value to complete the OAuth2 grant workflow.
- identityProvider.type [String] Required
-
This field must be set to
ExternalJWT
. - identityProvider.uniqueIdentityClaim [String] Required
-
The name of the claim that represents the unique identify of the User. This will generally be
email
or the name of the claim that provides the email address.
{
"identityProvider": {
"claimMap": {
"first_name": "firstName",
"last_name": "lastName",
"dept": "RegistrationData"
},
"debug": false,
"domains": [
"acme.com",
"acme.org"
],
"enabled": true,
"headerKeyParameter" : "kid",
"name": "Acme Corp. ADFS",
"oauth2" : {
"authorization_endpoint" : "https://acme.com/adfs/oauth2/authorize?client_id=cf3b00da-9551-460a-ad18-33232e6cbff0&response_type=code&redirect_uri=https://acme.com/oauth2/redirect",
"token_endpoint" : "https://acme.com/adfs/oauth2/token"
},
"type": "ExternalJWT",
"uniqueIdentityClaim": "email"
}
}
Response
The response for this API contains the external JWT Identity Provider that was updated.
Code | Description |
---|---|
200 |
The request was successful. The response will contain a JSON body. |
400 |
The request was invalid and/or malformed. The response will contain an Errors JSON Object with the specific errors. |
401 |
You did not supply a valid Authorization header. The header was omitted or your API key was not valid. The response will be empty. See Authentication. |
404 |
The object you are trying to updated doesn’t exist. The response will be empty. |
500 |
There was an internal error. A stack trace is provided and logged in the FusionAuth log files. The response will be empty. |
Response Body
- identityProvider.applicationConfiguration [Map<UUID, Object>]
-
The configuration for each Application that the identity provider is enabled for.
- identityProvider.applicationConfiguration
[applicationId]
.createRegistration [Boolean] -
Determines if a UserRegistration is created for the User automatically or not. If a user doesn’t exist in FusionAuth and logs in through an identity provider, this boolean controls whether or not FusionAuth creates a registration for the User in the Application they are logging into.
- identityProvider.applicationConfiguration
[applicationId]
.enabled [Boolean] -
Determines if this identity provider is enabled for the Application specified by the
applicationId
key. - identityProvider.claimMap [Map<String, String>]
-
A map of incoming claims to User fields, User data or Registration data. The key of the map is the incoming claim name from the configured identity provider. The following are allowed values:
-
birthDate
-
firstName
-
lastName
-
fullName
-
middleName
-
mobilePhone
-
imageUrl
-
timezone
-
UserData
-
RegistrationData
-
- identityProvider.debug [Boolean] Available since 1.7.3
-
Determines if debug is enabled for this provider. When enabled, each time this provider is invoked to reconcile a login an Event Log will be created.
- identityProvider.domains [Array<String>]
-
An array of domains that are managed by this Identity Provider.
- identityProvider.enabled [Boolean]
-
Determines if this provider is enabled. If it is false then it will be disabled globally.
- identityProvider.headerKeyParameter [String]
-
The name header claim that identifies the public key used to verify the signature. In most cases this be
kid
orx5t
. - identityProvider.id [UUID]
-
The unique identifier for the identity provider.
- identityProvider.insertInstant [Long]
-
The instant that the provider was added to the FusionAuth database.
- identityProvider.lastUpdateInstant [Long]
-
The instant that the provider was updated in the FusionAuth database.
- identityProvider.keys [Map<String, String>]
-
A map of public keys used to verify JWT signatures issued from the configured Identity Provider. The key is the key identifier, this may be referred to as the
kid
or for X.509 certificates thex5t
claim may be used.The map may contain one entry with an empty map key. When provided this key will be used when no header claim is provided to indicate which public key should be used to verify the signature. Generally speaking this will only be used when the Identity Provider issues JWTs without a key identifier in the header.
- identityProvider.lambdaConfiguration.reconcileId [UUID] Available since 1.17.0
-
The unique Id of the lambda to used during the user reconcile process to map custom claims from the external identity provider to the FusionAuth user.
- identityProvider.name [String]
-
The name of the Identity Provider.
- identityProvider.oauth2.authorization_endpoint [String]
-
The authorization endpoint for this Identity Provider. This value is not utilized by FusionAuth is only provided to be returned by the Lookup Identity Provider API response. During integration you may then utilize this value to perform the browser redirect to the OAuth2 authorize endpoint.
- identityProvider.oauth2.token_endpoint [String]
-
The token endpoint for this Identity Provider. This value is not utilized by FusionAuth is only provided to be returned by the Lookup Identity Provider API response. During integration you may then utilize this value to complete the OAuth2 grant workflow.
- identityProvider.type [String]
-
The type of this provider, this field will always be set to
ExternalJWT
. - identityProvider.uniqueIdentityClaim [String]
-
The name of the claim that represents the unique identify of the User. This will generally be
email
or the name of the claim that provides the email address.
{
"identityProvider": {
"claimMap": {
"first_name": "firstName",
"last_name": "lastName",
"dept": "RegistrationData"
},
"debug" : false,
"domains": [
"acme.com",
"acme.org"
],
"headerKeyParameter" : "kid",
"id" : "a4e78daa-33a6-4844-b081-7779af1f09a4",
"insertInstant": 1595361142909,
"lastUpdateInstant": 1595361143101,
"name": "Acme Corp. ADFS",
"oauth2" : {
"authorization_endpoint" : "https://acme.com/adfs/oauth2/authorize?client_id=cf3b00da-9551-460a-ad18-33232e6cbff0&response_type=code&redirect_uri=https://acme.com/oauth2/redirect",
"token_endpoint" : "https://acme.com/adfs/oauth2/token"
},
"type": "ExternalJWT",
"uniqueIdentityClaim": "email"
}
}
Delete an External JWT Identity Provider
Request
Delete an Identity Provider by Id
DELETE /api/identity-provider/{identityProviderId}
Request Parameters
- identityProviderId [UUID] Required
-
The unique Id of the Identity Provider to delete.
Response
This API does not return a JSON response body.
Code | Description |
---|---|
200 |
The request was successful. The response will be empty. |
400 |
The request was invalid and/or malformed. The response will contain an Errors JSON Object with the specific errors. |
401 |
You did not supply a valid Authorization header. The header was omitted or your API key was not valid. The response will be empty. See Authentication. |
404 |
The object you are trying to delete doesn’t exist. The response will be empty. |
500 |
There was an internal error. A stack trace is provided and logged in the FusionAuth log files. The response will be empty. |