# Minimum identity provider (IdP) requirements
At a minimum, your identity provider (IdP) must meet the requirements below to manage access to CDF data securely.
We currently support Microsoft's Azure Active Directory (Azure AD). If you want to use another IdP than Azure AD to manage access to CDF, contact your Cognite representative or one of our partners.
The IdP must issue access tokens that the CDF API can validate. The access tokens must be a valid JWT (opens new window), signed using RS256, with a public key at the location specified by the JWKS URL. Also, the IdP must have a JWKS URL that is reachable by the CDF API, and respond to requests for the JWKS end or the token endpoint within 1 second, as measured from the CDF API. Contact Cognite to have the JWKS URL added to the list of allowed JWKS URLs.
The IdP must support the following OAuth 2.0 flows:
- Client credentials (opens new window)
- Implicit w/ PKCE (opens new window)
- Auth code grant (opens new window)
# Tokens and claims
Within a token, there are multiple claims used to assert pieces of information about a subject. Tokens issued to authenticate and authorize a subject to access CDF should contain the following claims, some of which are reserved, and the others are custom configured. See this article (opens new window) for more information about tokens and claims.
The table below shows the minimum required claims in a token for CDF to authenticate and authorize the subject.
| ||Must||Audience of the JWT (intended recipient).||URI of the service requiring authentication.|
| ||Must||Expiration time of the JWT.||Datetime stamp.|
| ||Must||Issued at Time of the JWT.||Datetime stamp.|
| ||Must||Issuer of the JWT.||URI and path from the IdP from which the JWT was issued.|
| ||Must||Subject of the JWT (the user).||User name from IdP.|
| ||Should||Key identifier.||RS256|
| ||Should||Not Before Time of the JWT (before which the token should not be accepted).||Datetime stamp.|
| ||Should (strongly recommended)||Scope of the JWT (attribute inherited from the scopes defined for the subject in the IdP).||Text field.|
| ||Should (strongly recommended)||Groups of the JWT (attribute inherited from the groups defined for the subject in the IdP).||Object ID of a security group.|