2016-04-21 54 views
0

Azure API应用程序和Azure移动应用程序具有相同的身份验证。 Azure后端通常会保留提供者的令牌,例如,访问令牌给twitter,并为客户端发出不同的访问令牌以访问azure服务。 This question谈论过程。如何使用提供商的令牌登录如果没有移动SDK

有一种可供选择的登录方法,客户端可以自行获取提供者的令牌。然后它可以将该令牌用于Azure Api App或Azure Mobile App。 当您使用Azure移动应用程序客户端SDK时,可以使用.Login()函数的重载。

我想知道如何使用Twitter或任何其他提供者的令牌在没有移动应用程序SDK的情况下登录到我的Azure-Api-App。

似乎没有关于此事的文件。我在哪里发送HTTP请求和它应该有什么标题?

回答

3

您可以与Twitter的凭据登录,而不会通过发出以下HTTP请求到您的应用程序使用移动客户端SDK:

POST /.auth/login/twitter 
Content-Type: application/json 
Content-Length: XXX 

{"access_token":YYY, "access_token_secret":ZZZ} 

应用服务将验证凭据,您的令牌存储在其令牌存储装置,和然后将JSON有效负载返回给包含身份验证令牌的HTTP客户端。成功的响应将是这个样子:

{ 
    "user": { 
     "userId" : "<userId>" 
    }, 
    "authenticationToken" : "<jwt_token>" 
} 

然后,您可以设置的X谟-auth的请求头与jwt_token值进行验证的调用您的REST API。例如:

POST /api/doSomethingThatRequiresAuth 
Content-Length: 0 
X-ZUMO-AUTH: <jwt_token> 

的过程是用于其他提供者相同的,除了所述/.auth/login/provider的有效负载可能会有所不同。该设计源自旧的Mobile Services Client-Directed Login设计,因此大多数情况下,您可以从该文档中推断有效载荷的样子。

+0

非常感谢!我会立即尝试 –

相关问题