Windows Azure AD租户应用程序oAuth 2.0规范中的资源参数是什么?



我试图通过使用curl使用oAuth 2.0调用windows Azure AD租户应用程序的身份验证过程。但是我不知道下面示例代码中的参数"resource"是什么:

curl -X POST https://login.windows.net/<<YOUR--AD-TENANT-ID>>/oauth2/token  
  -F redirect_uri=http://google.com 
  -F grant_type=authorization_code 
  **-F resource=https://management.core.windows.net/ **
  -F client_id=87a544fd-... 
  -F code=AwABAAAAvPM1...8sSAA

Resource参数描述客户端代表用户访问的WebAPI的标识符。OAuth中的大多数流涉及4方,资源所有者(又名用户)、客户端(又名应用程序)、授权机构(又名身份提供者)和资源(又名webapi)。授权机构生成的访问令牌的受众是资源标识符。

在Azure AD的情况下,您可以使用客户端ID或资源WebAPI的应用程序ID URI(在Azure管理门户的Azure AD应用程序的配置选项卡中找到它们)。例如,如果我想让我的客户端获得一个令牌来代表用户访问Azure AD Graph API,我会请求资源"https://graph.windows.net"的令牌。在您的示例中,资源参数值标识Azure服务管理api。

下面是一些客户端应用程序使用Azure AD sdk向webapi请求令牌的代码示例-资源参数的不同用法:

  • 移动应用程序调用WebAPI: http://msdn.microsoft.com/en-us/library/azure/dn646737.aspx#BKMK_Native
  • Web应用程序调用WebAPI: http://msdn.microsoft.com/en-us/library/azure/dn646737.aspx#BKMK_AppToAPI
  • 客户端调用图形API: http://msdn.microsoft.com/en-us/library/azure/dn646737.aspx#BKMK_Graph

简单来说,资源参数包含您想要访问的Web API资源的URI。

OAuth协议遵循基于令牌的对资源的访问。参数"resource"有助于区分不同WEB API的令牌。

例如,如果你想访问GRAPH API-那么资源将是- "https://graph.windows.net/"

如果要访问AZURE, resource参数必须指定为- "http://management.azure.com"。

建议使用该参数,但不是必选参数。

相关内容

  • 没有找到相关文章

最新更新