Autenticação On-Prem com OpenID Connect (OAuth 2.0)

    Este documento fornece instruções de configuração sobre como configurar provedores de autenticação personalizados para a instância on-premise do App Builder usando um servidor OpenID Connect que suporta o fluxo de autorização OAuth 2.0 CODE com PKCE.

    O guia inclui:

    • Configurações obrigatórias do cliente OIDC.
    • Configurações específicas do App Builder.
    • Opções adicionais como oidc_scope e oidc_redirect_uri.

    Configurações para o Cliente OIDC

    • Fluxo OAuth2: Authorization Code + PKCE
    • Tokens de atualização ativados (escopo offline_access),
    • Tempo de vida do token de acesso: (sugerido 600 segundos)
    • Tempo de vida do token de atualização: janela deslizante recomendada com mínimo de 1 hora (24 horas recomendadas) e tempo de vida máximo determinado pela organização ou ilimitado).
    • Incluir declarações do usuário no Token Id (existem duas declarações padrão obrigatórias: "sub" e "email" e duas declarações personalizadas opcionais "given_name" e "family_name")
    • Escopos obrigatórios: openid email profile offline_access appbuilder.user
    • Audience: "appbuilder" (padrão)
    • URI de redirecionamento de entrada: /oidc/ig/callback
    • URL de pós-logout: /oidc/ig/callback-postlogout

    Configurações para o App Builder

    Configurações obrigatórias

    • AuthSettings__SkipAuth: false
    • AuthSettings__Authority: URL do servidor OpenId
    • AuthSettings__ClientId: Id do cliente OpenId
    • AuthSettings__AccountIssuer: Alias único do servidor

    Outras opções

    • oidc_scope: 'openid email offline_access profile appbuilder.user' (padrão)
    • oidc_redirect_uri: '/oidc/ig/callback', (padrão)
    • oidc_post_logout_redirect_uri: /oidc/ig/callback-postlogout' (padrão)
    • AuthSettings:Audience: "appbuilder" (padrão)
    Note

    Para usar a autenticação OIDC você precisa definir a configuração FrontendOptions_SkipAuth como false.

    Depois de configurar seu cliente OIDC você precisará passar 3 propriedades obrigatórias para o contêiner Docker do App Builder como variáveis de ambiente:

    por exemplo

    docker run --restart always -p 80:5000 -e ConnectionStrings__Provider=SqlServer -e "ConnectionStrings:...." -e AuthSettings__SkipAuth=false -e AuthSettings__Authority="https://my-auth-server.example.com" -e AuthSettings__ClientId="1234-4657-00" -e AuthSettings__AccountIssuer="MyAuth" -v "C:\ProgramData\Infragistics\Appbuilder\logs:/appbuilder/logs" -v "C:\ProgramData\Infragistics\Appbuilder\storage:/appbuilder/storage" --name appbuilder appbuilder:1.0
    

    Recursos Adicionais