tenant onmicrosoft msc microsoftonline common b2c active 2cprod azure appfabric oauth-2.0 accesscontrolservice

onmicrosoft - Proveedores de identidad de OAuth 2.0 en el servicio de control de acceso AppFabric de Windows Azure(ACS)



post https login microsoftonline com common oauth2 token (2)

En una conversación por correo electrónico que tuve con Dominick Baier (www.leastprivilege.com) dijo:

ACS en realidad admite OpenID IdP, no OAuth. OAuth se usa para solicitudes de tokens (por ejemplo, tokens de delegación).

Para agregar un nuevo IdP de OpenIds necesita usar la API de administración: Vittorio tiene una publicación de blog con una muestra en alguna parte. Pero no todos los proveedores de OpenId son compatibles.

Si entendí correctamente el correo electrónico de Dominick, no puede usar OAuth en esta capacidad, tiene que usar OpenId. Desafortunadamente, el tipo que escribió el primer artículo del blog que mencionaste realmente no sabe nada sobre OpenID / OpenAuth: es un tipo WS-Fed. Lo digo porque lo escribí ... :)

La delegación de OAuth 2.0 está incluida en el servicio de control de acceso AppFabric de Azure:

http://blogs.objectsharp.com/cs/blogs/steve/archive/2011/04/11/windows-azure-access-control-services-v2-rtw.aspx

Pero, ¿cómo se configura realmente un proveedor de identidad OAuth 2.0?

En la interfaz de administración cuando agrega un proveedor de identidad y selecciona el proveedor de identidad de WS-Federation, debe proporcionar un documento de metadatos de WS-Federation.

Sin embargo, cuando lee la documentación de los proveedores de OAuth 2.0 (es decir, http://msdn.microsoft.com/en-us/library/hh243647.aspx ) no se menciona ningún documento de metadatos (Sí, sé que Windows Live está incluido). como proveedor de identidad preconfigurado). ¿Es esto algo que tengo que escribir?

Actualizar

Ok, entonces descubrí que puedes agregar proveedores de identidad adicionales usando la API, mira estos comandos de PowerShell como un ejemplo:

http://blogs.msdn.com/b/vbertocci/archive/2011/05/19/adding-a-custom-openid-provider-to-acs-with-just-one-line-of-powershell-code. aspx

Sin embargo, al intentar agregar un proveedor de OAuth, me sale un error:

Add-IdentityProvider -Type "Manual" -Name "foo" -SignInAddress "http://term.ie/oauth/example/access_token.php" -Protocol OAuth -Namespace "abc" -ManagementKey "xxxxxx" Add-IdentityProvider : An error occurred while processing this request. At line:1 char:21 + Add-IdentityProvider <<<< -Type "Manual" -Name "foo" -SignInAddress "http://term.ie/oauth/example/access_token.php" -Protocol OAuth -Namespace "abc" -ManagementKey "xxxxxx" + CategoryInfo : CloseError: (:) [Add-IdentityProvider], ServiceManagementException + FullyQualifiedErrorId : Microsoft.Samples.DPE.ACS.ServiceManagementTools.PowerShell.IdentityProviders.AddIdentityProviderCommand

Otra actualización

La API de administración de ACS proporciona un mecanismo para agregar nuevos proveedores de identidad (si configura OpenId como su WebSSOProtocolType), sin embargo, no puedo ver cómo se transmite la clave / secreto que el servidor de prueba de OAuth ( http://term.ie). / oauth / example / ) Estoy usando requiere.

http://msdn.microsoft.com/en-us/library/hh278947.aspx


El escenario de delegaciones de OAuth 2, sección 4.1 en el borrador 13, no obliga a ningún tipo de proveedor de identidades ni a ningún proveedor de identidades. Solo necesita hacer alguna forma de autenticación en su sitio web y redireccionar a la URL de su cliente con un código de autenticación.

Recomiendo echar un vistazo a la muestra de la delegación Auth 2 en:

https://connect.microsoft.com/site1168/Descargas

Notará que en esta muestra la autenticación del usuario se implementa con un código de marcador de posición (nombre de usuario / contraseña codificados). En el escenario del mundo real, puede usar cualquier patrón de autenticación, incluida Federation con ACS, lo cual tendría sentido ya que ya está usando ACS para implementar su delegación.