Livio Amstutz b6b5b1b782
feat: jwt as idp (#2363)
* feat: jwt idp

* feat: command side

* feat: add tests

* fill idp views with jwt idps and return apis

* add jwtEndpoint to jwt idp

* begin jwt request handling

* merge

* handle jwt idp

* cleanup

* fixes

* autoregister

* get token from specific header name

* error handling

* fix texts

* handle renderExternalNotFoundOption

Co-authored-by: fabi <fabienne.gerschwiler@gmail.com>
2021-09-14 15:15:01 +02:00

3.8 KiB

title
zitadel/idp.proto

This document reflects the state from API 1.0 (available from 20.04.2021)

Messages

IDP

Field Type Description Validation
id string -
details zitadel.v1.ObjectDetails -
state IDPState -
name string -
styling_type IDPStylingType -
owner IDPOwnerType -
oneof config.oidc_config OIDCConfig -
oneof config.jwt_config JWTConfig -
auto_register bool -

IDPIDQuery

Field Type Description Validation
id string - string.max_len: 200
Field Type Description Validation
idp_id string -
idp_name string -
idp_type IDPType -

IDPNameQuery

Field Type Description Validation
name string - string.max_len: 200
method zitadel.v1.TextQueryMethod - enum.defined_only: true

IDPOwnerTypeQuery

Field Type Description Validation
owner_type IDPOwnerType - enum.defined_only: true
Field Type Description Validation
user_id string -
idp_id string -
idp_name string -
provided_user_id string -
provided_user_name string -
idp_type IDPType -

JWTConfig

Field Type Description Validation
jwt_endpoint string - string.min_len: 1
string.max_len: 200
issuer string - string.min_len: 1
string.max_len: 200
keys_endpoint string - string.min_len: 1
string.max_len: 200
header_name string - string.min_len: 1
string.max_len: 200

OIDCConfig

Field Type Description Validation
client_id string -
issuer string -
scopes repeated string -
display_name_mapping OIDCMappingField -
username_mapping OIDCMappingField -

Enums

IDPFieldName

Name Number Description
IDP_FIELD_NAME_UNSPECIFIED 0 -
IDP_FIELD_NAME_NAME 1 -

IDPOwnerType

the owner of the identity provider.

Name Number Description
IDP_OWNER_TYPE_UNSPECIFIED 0 -
IDP_OWNER_TYPE_SYSTEM 1 system is managed by the ZITADEL administrators
IDP_OWNER_TYPE_ORG 2 org is managed by de organisation administrators

IDPState

Name Number Description
IDP_STATE_UNSPECIFIED 0 -
IDP_STATE_ACTIVE 1 -
IDP_STATE_INACTIVE 2 -

IDPStylingType

Name Number Description
STYLING_TYPE_UNSPECIFIED 0 -
STYLING_TYPE_GOOGLE 1 -

IDPType

authorization framework of the identity provider

Name Number Description
IDP_TYPE_UNSPECIFIED 0 -
IDP_TYPE_OIDC 1 -
IDP_TYPE_JWT 3 PLANNED: IDP_TYPE_SAML

OIDCMappingField

Name Number Description
OIDC_MAPPING_FIELD_UNSPECIFIED 0 -
OIDC_MAPPING_FIELD_PREFERRED_USERNAME 1 -
OIDC_MAPPING_FIELD_EMAIL 2 -