Song Jong on Nostr: #tuxdobananil #explains #nips #nip-98 # NIP-98: Autenticação HTTP 🗝️🌐 ## ...
#tuxdobananil #explains #nips #nip-98
# NIP-98: Autenticação HTTP 🗝️🌐
## Introdução:
O NIP-98 define um evento efêmero usado para autorizar requisições a servidores HTTP utilizando eventos Nostr, sendo útil para serviços HTTP construídos para Nostr e que lidam com contas de usuários Nostr.
## Evento Nostr:
Utiliza-se o evento do tipo `kind 27235` (referência ao [RFC 7235](https://www.rfc-editor.org/rfc/rfc7235)). O `content` deve estar vazio, e os seguintes tags são obrigatórios:
- **`u`**: URL absoluta
- **`method`**: Método de requisição HTTP
### Exemplo de Evento:
```json
{
"id": "fe964e758903360f28d8424d092da8494ed207cba823110be3a57dfe4b578734",
"pubkey": "63fe6318dc58583cfe16810f86dd09e18bfd76aabc24a0081ce2856f330504ed",
"content": "",
"kind": 27235,
"created_at": 1682327852,
"tags": [
["u", "https://api.snort.social/api/v1/n5sp/list";],
["method", "GET"]
],
"sig": "5ed9d8ec958bc854f997bdc24ac337d005af372324747efe4a00e24f4c30437ff4dd8308684bed467d9d6be3e5a517bb43b1732cc7d33949a3aaf86705c22184"
}
```
### Validação do Evento:
Os servidores devem realizar várias verificações para validar o evento, incluindo a correspondência exata do URL, o método HTTP, e a presença de uma hash SHA-256 do corpo da requisição em um tag `payload` para métodos que contêm corpo (POST/PUT/PATCH).
### Fluxo de Requisição:
Usa-se o cabeçalho HTTP `Authorization`, codificando o evento `kind 27235` em `base64` e usando o esquema de autorização `Nostr`.
### Implementações de Referência:
Fornece-se um exemplo de `AuthenticationHandler` em C# ASP.NET para facilitar a integração.
## Aplicações:
Este NIP permite a criação de serviços HTTP que exigem autenticação de usuários Nostr, proporcionando um meio seguro e eficaz para autorizar requisições e ações em tais serviços. Ele abre portas para o desenvolvimento de aplicações Nostr com recursos avançados de segurança e personalização baseados na identidade Nostr do usuário.
# NIP-98: Autenticação HTTP 🗝️🌐
## Introdução:
O NIP-98 define um evento efêmero usado para autorizar requisições a servidores HTTP utilizando eventos Nostr, sendo útil para serviços HTTP construídos para Nostr e que lidam com contas de usuários Nostr.
## Evento Nostr:
Utiliza-se o evento do tipo `kind 27235` (referência ao [RFC 7235](https://www.rfc-editor.org/rfc/rfc7235)). O `content` deve estar vazio, e os seguintes tags são obrigatórios:
- **`u`**: URL absoluta
- **`method`**: Método de requisição HTTP
### Exemplo de Evento:
```json
{
"id": "fe964e758903360f28d8424d092da8494ed207cba823110be3a57dfe4b578734",
"pubkey": "63fe6318dc58583cfe16810f86dd09e18bfd76aabc24a0081ce2856f330504ed",
"content": "",
"kind": 27235,
"created_at": 1682327852,
"tags": [
["u", "https://api.snort.social/api/v1/n5sp/list";],
["method", "GET"]
],
"sig": "5ed9d8ec958bc854f997bdc24ac337d005af372324747efe4a00e24f4c30437ff4dd8308684bed467d9d6be3e5a517bb43b1732cc7d33949a3aaf86705c22184"
}
```
### Validação do Evento:
Os servidores devem realizar várias verificações para validar o evento, incluindo a correspondência exata do URL, o método HTTP, e a presença de uma hash SHA-256 do corpo da requisição em um tag `payload` para métodos que contêm corpo (POST/PUT/PATCH).
### Fluxo de Requisição:
Usa-se o cabeçalho HTTP `Authorization`, codificando o evento `kind 27235` em `base64` e usando o esquema de autorização `Nostr`.
### Implementações de Referência:
Fornece-se um exemplo de `AuthenticationHandler` em C# ASP.NET para facilitar a integração.
## Aplicações:
Este NIP permite a criação de serviços HTTP que exigem autenticação de usuários Nostr, proporcionando um meio seguro e eficaz para autorizar requisições e ações em tais serviços. Ele abre portas para o desenvolvimento de aplicações Nostr com recursos avançados de segurança e personalização baseados na identidade Nostr do usuário.