www with googleapis google openid google-openid openid-connect stackexchange

with - ¿La delegación de OpenID Connect con Google ahora está desaprobando su proveedor de OpenID2?



https www googleapis com oauth2 v3 token (3)

Cambiar su proveedor de OpenID de Google a Yahoo! en su sitio podría funcionar para usted, hasta que Yahoo! detiene su característica OpenID 2.0.

Sin embargo, si está bien para la primera sugerencia de Nat, sería una forma más estable por más tiempo.

Durante años he usado la delegación OpenID para iniciar sesión en Stack Overflow (entre otros sitios) usando mi propio URI como OpenID pero teniendo a Google manejando la autenticación. Utilizo la técnica descrita en esta pregunta sobre desbordamiento de pila ; por lo tanto, mi http://DescargarLibros.tc/ http://tupelo-schneck.org/robert http://ec.europa.eu/content/uploads/default.asp

<link href="https://www.google.com/accounts/o8/ud" rel="openid2.provider" /> <link href="https://www.google.com/profiles/schneck" rel="openid2.local_id" />

Ahora, sin embargo, he iniciado sesión en Stack Overflow e hice que Google me diga " Aviso importante: OpenID2 para cuentas de Google se va a retirar el 20 de abril de 2015. Obtenga más información ". Esta página explica que Google ha dejado de utilizar OpenID 2.0 y los desarrolladores deberían migrar sus aplicaciones a OpenID Connect.

¿Puedo continuar usando un URI personalizado para el inicio de sesión de OpenID, pero delegarlo en el proveedor de OpenID Connect de Google para la autenticación? ¿Cómo?


OpenID Connect solo es compatible con Discovery, que está destinado a encontrar su proveedor en función de alguna pista que le proporcione (correo electrónico, cuenta, URL, dominio, etc.); no le dará un identificador persistente para el cual puede delegar la autenticación a un proveedor configurable de su elección.

Entonces, si solo quiere usar un URI personalizado para encontrar su proveedor, puede usar el enfoque que Nat dio (excepto el último bit que Google no puede y no puede hacer y suponiendo que SO admita Discovery).

Pero si quiere una verdadera delegación, para que los RP puedan usar un identificador devuelto por el OP que sea persistente en diferentes OP a los que delegue, entonces no puede.

Para probablemente no necesite ninguno de estos: SO usa su propio identificador / cuenta principal y puede vincular varias cuentas a eso, incluido el de Google. Solo si SO hubiese utilizado su URI personalizado como su identificador principal, habría tenido un problema. En este caso no hay problema y puedes:

  1. use el botón de inicio de sesión de Google, o
  2. escriba su URI personalizado en el cuadro de entrada de la URL OpenID, suponiendo que usted y ha implementado Discovery

Pero tanto 1. como 2. realmente arrojan el mismo resultado: descubren que Google es el lugar donde desea autenticarse.


Suponiendo que desea usar su propio dominio como el identificador de inicio de sesión proporcionado por el usuario:

  1. Vaya a https://.com/users/login-add?returnUrl=%2Fusers%2Fcurrent y agregue un inicio de sesión usando Google. Esto agregará el identificador de Google OpenID Connect a su cuenta.
  2. Aloje el documento de descubrimiento de OpenID Connect en su dominio (consulte http://openid.net/specs/openid-connect-discovery-1_0.html#URLSyntax para obtener más información).
  3. Espere hasta que comience a admitir el descubrimiento de OpenID Connect
  4. Use http://tupelo-schneck.org/robert como el identificador de usuario

Además, si es compatible con OpenID Connect Migration 1.0, y suponiendo que Google devuelva su dominio personalizado claim_id en la respuesta de Migración, entonces:

  1. Aloje el documento JSON como se describe en http://openid.net/specs/openid-connect-migration-1_0.html#VerifyOPAuthority en su dominio.

allanaría tu camino.