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
Mensagem pronta para colar
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-dotnetOu 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.mdConteú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.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3592
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
api-connector-builder
Faz seu agente construir novas conexões com APIs seguindo o padrão já existente. Use quando precisar adicionar mais uma integração sem criar um novo jeito de fazer.
affaan-m/ECC
api-design
Ajuda seu agente a projetar APIs REST seguindo as melhores práticas. É útil para definir como as APIs se comunicam, como os erros são mostrados e como organizar os dados.
affaan-m/ECC
backend-patterns
Ajuda seu agente com padrões de arquitetura do lado do servidor e otimização de banco de dados. É útil para construir ou revisar o código que roda no servidor.
affaan-m/ECC