# generated by datamodel-codegen:
#   filename:  configuration/authenticationConfiguration.json
#   timestamp: 2022-10-03T15:16:21+00:00

from __future__ import annotations

from typing import List, Optional

from pydantic import BaseModel, Extra, Field


class AuthenticationConfiguration(BaseModel):
    class Config:
        extra = Extra.forbid

    provider: str = Field(
        ..., description='SSO provider , no-auth, okta, google , azure etc.'
    )
    providerName: str = Field(
        ..., description='Custom OIDC Authentication Provider Name'
    )
    publicKeyUrls: List[str] = Field(..., description='List of Public Key URLs')
    authority: str = Field(..., description='Authentication Authority')
    clientId: str = Field(..., description='Client ID')
    callbackUrl: str = Field(..., description='Callback URL')
    jwtPrincipalClaims: List[str] = Field(..., description='Jwt Principal Claim')
    enableSelfSignup: Optional[bool] = Field(False, description='Enable Self Sign Up')
