Identity Providers
Operations Summary
Core CRUD
List Identity Providers
Retrieve
Create
HTTPie Python TypeScript Request Body (required) Responses
http \
POST \
https://api.example.com/api/identity-providers/ \
Authorization:"Token YOUR_API_TOKEN" \
provider = "string-value" \
client_id = "string-value" \
client_secret = "********" \
discovery_url = "string-value" \
label = "string-value"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.identity_provider_request import IdentityProviderRequest # (1)
from waldur_api_client.api.identity_providers import identity_providers_create # (2)
client = AuthenticatedClient (
base_url = "https://api.example.com" , token = "YOUR_API_TOKEN"
)
body_data = IdentityProviderRequest (
provider = "string-value" ,
client_id = "string-value" ,
client_secret = "********" ,
discovery_url = "string-value" ,
label = "string-value"
)
response = identity_providers_create . sync (
client = client ,
body = body_data
)
print ( response )
Model Source: IdentityProviderRequest
API Source: identity_providers_create
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 import { identityProvidersCreate } from 'waldur-js-client' ;
try {
const response = await identityProvidersCreate ({
auth : "Token YOUR_API_TOKEN" ,
body : {
"provider" : "string-value" ,
"client_id" : "string-value" ,
"client_secret" : "********" ,
"discovery_url" : "string-value" ,
"label" : "string-value"
}
});
console . log ( 'Success:' , response );
} catch ( error ) {
console . error ( 'Error:' , error );
}
Field
Type
Required
Description
protected_fields
array of strings
allowed_redirects
array of strings
provider
string
✓
is_active
boolean
client_id
string
✓
ID of application used for OAuth authentication.
client_secret
string
✓
Application secret key.
verify_ssl
boolean
enable_post_logout_redirect
boolean
enable_pkce
boolean
discovery_url
string
✓
The endpoint for endpoint discovery.
label
string
✓
Human-readable identity provider is label.
management_url
string
The endpoint for user details management.
extra_scope
string
Space-separated list of scopes to request during authentication.
user_field
string
The field in Waldur User model to be used for looking up the user
user_claim
string
The OIDC claim from the userinfo endpoint to be used as the value for the lookup field.
attribute_mapping
object (free-form)
A JSON object mapping Waldur User model fields to OIDC claims. Example:
extra_fields
string
Space-separated list of extra fields to persist.
201 -
Field
Type
Description
protected_fields
array of strings
allowed_redirects
array of strings
provider
string
is_active
boolean
client_id
string
ID of application used for OAuth authentication.
client_secret
string
Application secret key.
verify_ssl
boolean
enable_post_logout_redirect
boolean
enable_pkce
boolean
discovery_url
string
The endpoint for endpoint discovery.
userinfo_url
string
The endpoint for fetching user info.
token_url
string
The endpoint for obtaining auth token.
auth_url
string
The endpoint for authorization request flow.
logout_url
string
The endpoint used to redirect after sign-out.
label
string
Human-readable identity provider is label.
management_url
string
The endpoint for user details management.
extra_scope
string
Space-separated list of scopes to request during authentication.
user_field
string
The field in Waldur User model to be used for looking up the user
user_claim
string
The OIDC claim from the userinfo endpoint to be used as the value for the lookup field.
attribute_mapping
object (free-form)
A JSON object mapping Waldur User model fields to OIDC claims. Example:
extra_fields
string
Space-separated list of extra fields to persist.
Update
HTTPie Python TypeScript Path Parameters Request Body (required) Responses
http \
PUT \
https://api.example.com/api/identity-providers/string-value/ \
Authorization:"Token YOUR_API_TOKEN" \
provider = "string-value" \
client_id = "string-value" \
client_secret = "********" \
discovery_url = "string-value" \
label = "string-value"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.identity_provider_request import IdentityProviderRequest # (1)
from waldur_api_client.api.identity_providers import identity_providers_update # (2)
client = AuthenticatedClient (
base_url = "https://api.example.com" , token = "YOUR_API_TOKEN"
)
body_data = IdentityProviderRequest (
provider = "string-value" ,
client_id = "string-value" ,
client_secret = "********" ,
discovery_url = "string-value" ,
label = "string-value"
)
response = identity_providers_update . sync (
provider = "string-value" ,
client = client ,
body = body_data
)
print ( response )
Model Source: IdentityProviderRequest
API Source: identity_providers_update
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 import { identityProvidersUpdate } from 'waldur-js-client' ;
try {
const response = await identityProvidersUpdate ({
auth : "Token YOUR_API_TOKEN" ,
path : {
"provider" : "string-value"
},
body : {
"provider" : "string-value" ,
"client_id" : "string-value" ,
"client_secret" : "********" ,
"discovery_url" : "string-value" ,
"label" : "string-value"
}
});
console . log ( 'Success:' , response );
} catch ( error ) {
console . error ( 'Error:' , error );
}
Name
Type
Required
provider
string
✓
Field
Type
Required
Description
protected_fields
array of strings
allowed_redirects
array of strings
provider
string
✓
is_active
boolean
client_id
string
✓
ID of application used for OAuth authentication.
client_secret
string
✓
Application secret key.
verify_ssl
boolean
enable_post_logout_redirect
boolean
enable_pkce
boolean
discovery_url
string
✓
The endpoint for endpoint discovery.
label
string
✓
Human-readable identity provider is label.
management_url
string
The endpoint for user details management.
extra_scope
string
Space-separated list of scopes to request during authentication.
user_field
string
The field in Waldur User model to be used for looking up the user
user_claim
string
The OIDC claim from the userinfo endpoint to be used as the value for the lookup field.
attribute_mapping
object (free-form)
A JSON object mapping Waldur User model fields to OIDC claims. Example:
extra_fields
string
Space-separated list of extra fields to persist.
200 -
Field
Type
Description
protected_fields
array of strings
allowed_redirects
array of strings
provider
string
is_active
boolean
client_id
string
ID of application used for OAuth authentication.
client_secret
string
Application secret key.
verify_ssl
boolean
enable_post_logout_redirect
boolean
enable_pkce
boolean
discovery_url
string
The endpoint for endpoint discovery.
userinfo_url
string
The endpoint for fetching user info.
token_url
string
The endpoint for obtaining auth token.
auth_url
string
The endpoint for authorization request flow.
logout_url
string
The endpoint used to redirect after sign-out.
label
string
Human-readable identity provider is label.
management_url
string
The endpoint for user details management.
extra_scope
string
Space-separated list of scopes to request during authentication.
user_field
string
The field in Waldur User model to be used for looking up the user
user_claim
string
The OIDC claim from the userinfo endpoint to be used as the value for the lookup field.
attribute_mapping
object (free-form)
A JSON object mapping Waldur User model fields to OIDC claims. Example:
extra_fields
string
Space-separated list of extra fields to persist.
Partial Update
Delete
Other Actions
Fetches OIDC discovery metadata from the provider and returns supported claims, scopes, and suggested mappings to Waldur User fields. Use this to configure attribute_mapping when setting up a new identity provider.
HTTPie Python TypeScript Request Body (required) Responses
http \
POST \
https://api.example.com/api/identity-providers/discover_metadata/ \
Authorization:"Token YOUR_API_TOKEN" \
discovery_url = "https://api.example.com/api/discovery-url/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.discover_metadata_request_request import DiscoverMetadataRequestRequest # (1)
from waldur_api_client.api.identity_providers import identity_providers_discover_metadata # (2)
client = AuthenticatedClient (
base_url = "https://api.example.com" , token = "YOUR_API_TOKEN"
)
body_data = DiscoverMetadataRequestRequest (
discovery_url = "https://api.example.com/api/discovery-url/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
)
response = identity_providers_discover_metadata . sync (
client = client ,
body = body_data
)
print ( response )
Model Source: DiscoverMetadataRequestRequest
API Source: identity_providers_discover_metadata
1
2
3
4
5
6
7
8
9
10
11
12
13 import { identityProvidersDiscoverMetadata } from 'waldur-js-client' ;
try {
const response = await identityProvidersDiscoverMetadata ({
auth : "Token YOUR_API_TOKEN" ,
body : {
"discovery_url" : "https://api.example.com/api/discovery-url/a1b2c3d4-e5f6-7890-abcd-ef1234567890/"
}
});
console . log ( 'Success:' , response );
} catch ( error ) {
console . error ( 'Error:' , error );
}
Field
Type
Required
Description
discovery_url
string (uri)
✓
OIDC discovery URL (e.g., https://idp.example.com/.well-known/openid-configuration)
verify_ssl
boolean
Whether to verify SSL certificateConstraints: default: True
200 -
Field
Type
Description
claims_supported
array of strings
List of claims supported by the OIDC provider
scopes_supported
array of strings
List of scopes supported by the OIDC provider
endpoints
any
OIDC endpoints (authorization, token, userinfo, logout)
waldur_fields
array of objects
Waldur User fields with suggested OIDC claim mappings
waldur_fields.field
string
Waldur User model field name
waldur_fields.description
string
Human-readable field description
waldur_fields.suggested_claims
array of strings
OIDC claims that could map to this field, ordered by likelihood
waldur_fields.available_claims
array of strings
Claims from this IdP that match the suggestions
suggested_scopes
array of strings
Recommended scopes to request based on claim mappings
Generate default attribute mapping
Generates a suggested attribute_mapping configuration based on the claims supported by an OIDC provider. This can be used as a starting point when creating a new identity provider.