Cuando un cliente solicita un servidor de recursos para obtener un recurso protegido con un token de acceso de OAuth 2.0, ¿cómo funciona este servidor validar el token? El OAuth 2.0 actualización de token de protocolo?

  • El servidor se supone que para ser capaz de validar el token que previamente ha emitido sí… Normalmente esto será una base de datos de búsqueda o crypto (auto-firmado tokens).
  • Lo que yo veo. Cómo sobre este caso, el propietario de los recursos WS y el cliente WS son tanto de la diferencia de los dispositivos?
  • Te refieres al servicio de autenticación y el servicio de recursos? (el cliente/consumidor siempre estará en un dispositivo diferente, y no puede validar los tokens de sí mismo) Si ese es el caso, usted puede utilizar la actualización de tokens que son «caros» de verificación (sólo auth server puede hacerlo), pero de larga vida y tokens de acceso que se vencen con frecuencia y que pueden ser revisados sin conexión.
  • blog.facilelogin.com/2016/03/…
InformationsquelleAutor Ack | 2012-09-06

5 Comentarios

  1. 87

    Actualización De Nov. 2015 – como por Hans Z. a continuación – esto es ahora, de hecho, se define como parte de RFC 7662.

    La OAuth 2.0 especificación no define claramente la interacción entre un Servidor de Recursos (RS) y el Servidor de Autorización (AS) para el token de acceso (A) de validación. Realmente depende de la MEDIDA del token de formato/estrategia – algunos tokens son auto-contenidos (como JSON Web Tokens), mientras que otros pueden ser similares a los de una cookie de sesión en la que se acaba de referencia de la información en la MEDIDA en la memoria.

    Ha habido algunos de discusión en el OAuth Grupo de Trabajo sobre la creación de una forma estándar para un RS para comunicarse con el COMO EN el de validación. Mi empresa (Ping Identity) ha llegado con un enfoque de este tipo para nuestros comerciales OAuth COMO (PingFederate): https://support.pingidentity.com/s/document-item?bundleId=pingfederate-93&topicId=adminGuide%2FgrantTypeParameters.html (ver token de Acceso de validación de tipo de subvención). Utiliza RESTO de interacción por esto que es muy complementaria a OAuth 2.

    • Scott T , hay una manera de ver un código de ejemplo sobre cómo utilizar la característica de Ping Federar?
    • hay algunas más detalles del protocolo cubierto en nuestro sitio web para desarrolladores de aquí:
      Additionally» >developer.pingidentity.com/en/resources/…
      , el PingFederate OAuth Patio de recreo de los barcos como un conjunto de Jsp que se puede hacer referencia como el código fuente para la validación de fichas. (Y otras bibliotecas de código abierto y muestras) puede ser descargado desde aquí: developer.pingidentity.com/en/code.html
    • Scott, estoy buscando un ejemplo que sirva para demostrar las Credenciales del Cliente de la Subvención con el Resto de la API protegido por un Servidor de Recursos y PingFederate como la Autenticación de Servidor. El local de recursos del servidor, a continuación, llamar a la validación de los parámetros. Tienen que venir a través de algo como eso?
    • de nuevo eso es algo que usted debe ser capaz de hacer referencia a la PingFederate OAuth zona de juegos para los. Esto demuestra que tanto las Credenciales del Cliente Tipo de Subvención y validación de un Token de Acceso de un Servidor de Recursos.
    • En el caso de una JWT token de acceso, supongo que se haría normalmente no quieren golpear el extremo de la introspección para cada petición entrante a la RS. En cuyo caso, es una RS de verificación de token y firma de alcance suficiente? O, quizás, el RS podría caché de la introspección respuestas de el COMO de cierta cantidad de tiempo?
    • Usted está en lo correcto, pero en última instancia depende de la aplicación y las características de la MEDIDA. El COMO todavía puede tener alguna capacidad para revocar el Token de Acceso, en cuyo caso usted podría querer volver a llamar para asegurarse de que está activada. Una de caducidad y comprobación de la firma no lo digo EN el todavía debe ser tratada como válido.

  2. 114

    Google manera

    Google Oauth2 Token De Validación

    Solicitud:

    https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=1/fFBGRNJru1FQd44AzqT3Zg
    

    Responder:

    {
      "audience":"8819981768.apps.googleusercontent.com",
      "user_id":"123456789",
      "scope":"https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email",
      "expires_in":436
    } 
    

    Microsoft manera

    Microsoft – Oauth2 de verificación de una autorización

    Github manera

    Github – Oauth2 de verificación de una autorización

    Solicitud:

    GET /applications/:client_id/tokens/:access_token
    

    Responder:

    {
      "id": 1,
      "url": "https://api.github.com/authorizations/1",
      "scopes": [
        "public_repo"
      ],
      "token": "abc123",
      "app": {
        "url": "http://my-github-app.com",
        "name": "my github app",
        "client_id": "abcde12345fghij67890"
      },
      "note": "optional note",
      "note_url": "http://optional/note/url",
      "updated_at": "2011-09-06T20:39:23Z",
      "created_at": "2011-09-06T17:26:27Z",
      "user": {
        "login": "octocat",
        "id": 1,
        "avatar_url": "https://github.com/images/error/octocat_happy.gif",
        "gravatar_id": "somehexcode",
        "url": "https://api.github.com/users/octocat"
      }
    }
    

    Amazon manera

    Inicio De Sesión Con Amazon – Desarrollador De La Guía (Dec. 2015, página 21)

    Solicitud :

    https://api.amazon.com/auth/O2/tokeninfo?access_token=Atza|IQEBLjAsAhRmHjNgHpi0U-Dme37rR6CuUpSR...
    

    Respuesta :

    HTTP/l.l 200 OK
    Date: Fri, 3l May 20l3 23:22:l0 GMT 
    x-amzn-RequestId: eb5be423-ca48-lle2-84ad-5775f45l4b09 
    Content-Type: application/json 
    Content-Length: 247 
    
    { 
      "iss":"https://www.amazon.com", 
      "user_id": "amznl.account.K2LI23KL2LK2", 
      "aud": "amznl.oa2-client.ASFWDFBRN", 
      "app_id": "amznl.application.436457DFHDH", 
      "exp": 3597, 
      "iat": l3ll280970
    }
    
    • Live Connect msdn.microsoft.com/en-us/library/hh243647.aspx
    • No explica en absoluto cómo el lado del servidor reconocer asignado el id de usuario de un token.
    • No entiendo todos los votos. Esto no parece responder a la pregunta.
    • ¿Alguien sabe si Azure Active Directory tiene un parecido extremo para comprobar si un token emitido es válido?
    • En otras palabras, el rollo de su propio.
  3. 45

    Una actualización en @Scott T. respuesta: la interfaz entre los Recursos del Servidor y el Servidor de Autorización para token de validación fue estandarizado en IETF RFC 7662 en octubre de 2015, ver: https://tools.ietf.org/html/rfc7662. Una muestra de validación de la llamada sería:

    POST /introspect HTTP/1.1
    Host: server.example.com
    Accept: application/json
    Content-Type: application/x-www-form-urlencoded
    Authorization: Bearer 23410913-abewfq.123483
    
    token=2YotnFZFEjr1zCsicMWpAA
    

    y un ejemplo de respuesta:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
      "active": true,
      "client_id": "l238j323ds-23ij4",
      "username": "jdoe",
      "scope": "read write dolphin",
      "sub": "Z5O3upPC88QrAjx00dis",
      "aud": "https://protected.example.net/resource",
      "iss": "https://server.example.com/",
      "exp": 1419356238,
      "iat": 1419350238,
      "extension_field": "twenty-seven"
    }
    

    De curso de adopción por parte de los proveedores y de los productos que tenga que suceder a lo largo del tiempo.

    • Si el uso de OoenId Conectar no preferimos openid manera de usar los id de token para validar el token de acceso: openid.net/specs/…
    • ¿Por qué se alcance una lista separada por espacios de los ámbitos en lugar de en un array de json…
    • para estar en línea con la forma en que ámbitos se pide en la solicitud de autorización, que es con un scope de consulta parámetro cuyo valor contiene una lista separada por espacios de los alcances de la
    • Por favor, no use la palabra «estandarizado» cuando algo no ha sido oficialmente aceptada por un consejo de administración. El IETF RFC 7662 de Febrero de 2018, indica claramente que se trata de una «propuesta».
    • No hay tal cosa como una «propuesta». Por el momento en que un documento se convierte en un RFC es ya una «propuesta de norma» que lleva el significativo peso detrás de él. OAuth 2.0 en sí es todavía una «propuesta de norma» así que no estoy seguro de en qué punto usted está tratando de hacer.
  4. 8

    OAuth 2.0 especificación no define la parte. Pero podría haber un par de opciones:

    1. Cuando los recursos del servidor obtiene el token en el Authz Encabezado, a continuación, llama a la valide/hacer una introspección de la API en Authz servidor para validar el token. Aquí Authz servidor puede validar, ya sea desde el uso de DB de la Tienda o de la verificación de la firma y de algunos de los atributos. Como parte de la respuesta, que decodifica la señal y envía los datos reales de token junto con el resto de la hora de vencimiento.

    2. Authz Servidor puede encrpt/firmar el token utilizando la clave privada y, a continuación, clavepublica/cert puede ser dado a los Recursos del Servidor. Cuando el recurso de servidor recibe el token, se descifra/verifica la firma para verificar el token. Toma el contenido y los procesos de los token. A continuación, puede proporcionar acceso o rechazar.

  5. 7

    OAuth v2 especificaciones indica:

    Token de acceso de los atributos y los métodos utilizados para acceder a los recursos protegidos están más allá del alcance de esta especificación, y se definen por el compañero especificaciones.

    Mi Autorización Servidor tiene un webservice SOAP () extremo que permite que el Servidor de Recursos para saber si el access_token es válido.

Dejar respuesta

Please enter your comment!
Please enter your name here