Pular para o conteúdo
Skillpedia
APIs e servidores (backend)48 mil · #3592

microsoft-azure-webjobs-extensions-authentication-events-dotnet

Permite ao agente criar extensões de autenticação personalizadas para o Azure Functions. Facilita a integração com o Microsoft Entra para eventos de autenticação.

O que ela faz

Esta ferramenta permite que você personalize como os usuários fazem login em seus aplicativos. Você pode adicionar informações extras aos tokens de acesso, mudar o que é solicitado aos usuários durante o cadastro ou validar as informações que eles enviam.

Quando usar

  • ✓Quando quiser adicionar informações extras (como departamento) aos tokens de acesso dos usuários.
  • ✓Quando precisar mudar as perguntas feitas aos usuários durante o cadastro.
  • ✓Quando quiser verificar ou alterar as informações que os usuários enviam no cadastro.

Exemplo do que pedir para a IA

“Adicione o departamento do usuário e o centro de custo ao token de acesso.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/microsoft-azure-webjobs-extensions-authentication-events-dotnet/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/microsoft-azure-webjobs-extensions-authentication-events-dotnet/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Você escreve um código que é executado quando um evento de autenticação acontece. Esse código pode então adicionar informações ou mudar o fluxo de autenticação.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill microsoft-azure-webjobs-extensions-authentication-events-dotnet

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/microsoft-azure-webjobs-extensions-authentication-events-dotnet/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents (.NET)

Extensão do Azure Functions para lidar com eventos de autenticação personalizados do Microsoft Entra ID.

Instalação

dotnet add package Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents

Versão Atual: v1.1.0 (estável)

Eventos Suportados

Evento Propósito
OnTokenIssuanceStart Adicionar declarações personalizadas a tokens durante a emissão
OnAttributeCollectionStart Personalizar a interface de coleta de atributos antes da exibição
OnAttributeCollectionSubmit Validar/modificar atributos após o envio do usuário
OnOtpSend Entrega de OTP personalizada (SMS, e-mail, etc.)

Fluxos de Trabalho Principais

1. Enriquecimento de Token (Adicionar Declarações Personalizadas)

Adicione declarações personalizadas a tokens de acesso ou ID durante o login.

using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents;
using Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents.TokenIssuanceStart;
using Microsoft.Extensions.Logging;

public static class TokenEnrichmentFunction
{
    [FunctionName("OnTokenIssuanceStart")]
    public static WebJobsAuthenticationEventResponse Run(
        [WebJobsAuthenticationEventsTrigger] WebJobsTokenIssuanceStartRequest request,
        ILogger log)
    {
        log.LogInformation("Token issuance event for user: {UserId}", 
            request.Data?.AuthenticationContext?.User?.Id);

        // Create response with custom claims
        var response = new WebJobsTokenIssuanceStartResponse();
        
        // Add claims to the token
        response.Actions.Add(new WebJobsProvideClaimsForToken
        {
            Claims = new Dictionary<string, string>
            {
                { "customClaim1", "customValue1" },
                { "department", "Engineering" },
                { "costCenter", "CC-12345" },
                { "apiVersion", "v2" }
            }
        });

        return response;
    }
}

2. Enriquecimento de Token com Dados Externos

Busque declarações de sistemas externos (bancos de dados, APIs).

using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents;
using Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents.TokenIssuanceStart;
using Microsoft.Extensions.Logging;
using System.Net.Http;
using System.Text.Json;

public static class TokenEnrichmentWithExternalData
{
    private static readonly HttpClient _httpClient = new();

    [FunctionName("OnTokenIssuanceStartExternal")]
    public static async Task<WebJobsAuthenticationEventResponse> Run(
        [WebJobsAuthenticationEventsTrigger] WebJobsTokenIssuanceStartRequest request,
        ILogger log)
    {
        string? userId = request.Data?.AuthenticationContext?.User?.Id;
        
        if (string.IsNullOrEmpty(userId))
        {
            log.LogWarning("No user ID in request");
            return new WebJobsTokenIssuanceStartResponse();
        }

        // Fetch user data from external API
        var userProfile = await GetUserProfileAsync(userId);
        
        var response = new WebJobsTokenIssuanceStartResponse();
        response.Actions.Add(new WebJobsProvideClaimsForToken
        {
            Claims = new Dictionary<string, string>
            {
                { "employeeId", userProfile.EmployeeId },
                { "department", userProfile.Department },
                { "roles", string.Join(",", userProfile.Roles) }
            }
        });

        return response;
    }

    private static async Task<UserProfile> GetUserProfileAsync(string userId)
    {
        var response = await _httpClient.GetAsync($"https://api.example.com/users/{userId}");
        response.EnsureSuccessStatusCode();
        var json = await response.Content.ReadAsStringAsync();
        return JsonSerializer.Deserialize<UserProfile>(json)!;
    }
}

public record UserProfile(string EmployeeId, string Department, string[] Roles);

3. Coleta de Atributos - Personalizar Interface (Evento de Início)

Personalize a página de coleta de atributos antes que ela seja exibida.

using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents;
using Microsoft.Azure.WebJobs.Extensions.AuthenticationEvents.Framework;
using Microsoft.Extensions.Logging;

public static class AttributeCollectionStartFunction
{
    [FunctionName("OnAttributeCollectionStart")]
    public static WebJobsAuthenticationEventResponse Run(

…
Perguntas frequentes

O que são 'claims'?

'Claims' são pedaços de informação sobre o usuário, como nome, email ou departamento, que são adicionados ao token de acesso.

O que é um 'token de acesso'?

É uma credencial digital que prova quem é o usuário e quais permissões ele tem, usada para acessar recursos.

Posso usar isso para enviar códigos de verificação (OTP)?

Sim, você pode personalizar como os códigos de verificação de uso único (OTP) são enviados, como por SMS ou email.

Detalhes

Descrição original do autor

Microsoft Entra Authentication Events SDK for .NET. Azure Functions triggers for custom authentication extensions.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3592
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas