in

Desafío: Tokens de acceso privado – Descubrir – Desarrollador de Apple

Los tokens de acceso privado son herramientas poderosas que prueban cuándo las solicitudes HTTP provienen de dispositivos legítimos sin revelar la identidad de alguien. Esta prueba puede ayudarlo a reducir la frecuencia con la que muestra los CAPTCHA a las personas. Son fáciles de configurar y probar, por lo que lo invitamos a este desafío para que pruebe los tokens de acceso privado en su propio servidor.

Antes de comenzar, asegúrese de ver «Reemplazar CAPTCHA con tokens de acceso privado» para obtener una descripción general de la función.

Reemplace los CAPTCHA con tokens de acceso privado

¡No se deje capturar por los CAPTCHA! Los tokens de acceso privado son una poderosa alternativa que lo ayuda a identificar solicitudes HTTP de personas y dispositivos legítimos sin comprometer su identidad o información personal. Le mostraremos cómo su aplicación y su servidor pueden aprovechar esta herramienta para agregar…

Empieza el reto

Es fácil agregar soporte para tokens de acceso privado en sus servidores: su servidor puede enviar un desafío de autenticación HTTP para solicitar a los clientes que presenten un token firmado por un emisor de tokens en el que confía. A continuación, puede validar tokens utilizando la clave pública de ese emisor.

Elija un emisor de tokens
Para adoptar tokens de acceso privado, primero deberá elegir un emisor de tokens. Su servidor debe incluir el nombre de host del emisor del token y la clave pública en los desafíos enviados a los clientes. Puede probar con emisores de tokens de Cloudflare y Fastly cuando usa iOS 16 y macOS Ventura. Para cada emisor, puede buscar la clave pública utilizando el formato de URL https://<issuer name>/.well-known/token-issuer-directory. Puede obtener una de las siguientes URL de su servidor para obtener la información del emisor:

Cloudflare — https://demo-pat.issuer.cloudflare.com/.well-known/token-issuer-directory

Fastly — https://demo-issuer.private-access-tokens.fastly.com/.well-known/token-issuer-directory

Más información sobre tokens de acceso privado y Cloudflare

Obtenga más información sobre los tokens de acceso privado y Fastly

Desafío y redención de fichas
Para enviar un desafío, su servidor debe publicar una respuesta HTTP 401 a una solicitud realizada por el cliente con un encabezado «WWW-Authenticate» que contiene un desafío «PrivateToken». Este encabezado contiene dos atributos: «desafío», que contiene una estructura TokenChallenge en codificación base64url; y “token-key”, que contiene la clave pública del emisor de un token que utiliza la codificación base64url.

WWW-Authenticate: PrivateToken challenge=, token-key=

La estructura TokenChallenge contiene el tipo de token, el nombre de host del emisor, un contexto opcional para vincular a su desafío y el nombre de host de su servidor. iOS 16 y macOS Ventura admiten token tipo 2, que utiliza firmas ciegas RSA verificables públicamente.

struct {
    uint16_t token_type;               // 0x0002, in network-byte order
    uint16_t issuer_name_length;       // Issuer name length, in network-byte order
    char issuer_name[];                // Hostname of the token issuer
    uint8_t redemption_context_length; // Redemption context length (0 or 32)
    uint8_t redemption_context[];      // Redemption context, either 0 or 32 bytes
    uint16_t origin_info_length;       // Origin info length, in network-byte order
    char origin_info[];                // Hostname of your server
} TokenChallenge; 

Las respuestas de token vienen en un encabezado de «Autorización». Este contiene el atributo «token», que es un token RSA Blind Signature que utiliza la codificación base64url. Utilice la clave pública del emisor del token para verificar este token.

Authorization: PrivateToken token=

Nota: cuando envíe desafíos de tokens, no bloquee la carga de la página principal. ¡Asegúrese de que cualquier cliente que no admita tokens aún pueda acceder a su sitio web!

Adopte el esquema de autenticación HTTP «PrivateToken»

Protocolo de emisión para tokens verificables públicamente

Ahora que sabe cómo configurar tokens de acceso privado, explore el envío de desafíos de tokens en su propio sitio web. Pruebe su sitio con clientes que admitan tokens de acceso privado, ¡y otros que no! — y descubra cómo puede hacer que sus CAPTCHA solo se muestren para clientes que no admiten tokens de acceso privado.

¿Tiene preguntas sobre la adopción de esta característica? Consulte nuestras preguntas y respuestas sobre tokens de acceso privado el jueves por la mañana. ¡Y no olvide compartir sus experiencias sin CAPTCHA en Twitter con el hashtag #WWDC22Challenges!

Explore #WWDC22Challenges en las redes sociales

Lee los términos y condiciones de los desafíos de la WWDC22



Fuente

Xiaomi quiere quedarse en tu cocina: su licuadora inteligente llega al mercado Global

hololens2building-model.jpg

Cree aplicaciones de realidad mixta de bajo código en Power Apps, AI Builder y HoloLens