自定义Azure应用服务身份验证提供程序必须与客户端驻留在同一应用程序服务上吗?

时间:2018-01-03 12:16:29

标签: azure authentication azure-web-app-service

我们正在构建一个具有React前端的新Web系统(App服务1)。我们希望为应用启用社交登录,但也希望提供标准用户名/密码登录。为此,我们正在考虑开发自定义提供商。

我已经创建了自定义提供程序并将其部署到新的应用程序服务(App Service 2)。

我将身份验证流程描述为: 用户访问前端客户端(未经身份验证)>>自定义提供程序上的重定向到登录页面>>生成令牌并重定向回前端应用程序。

这是正确的流程还是我完全错了?我很好奇,一旦我重定向回客户端应用程序,访问/.auth/me是否会起作用(我认为在App Service 2上会更有用吗?)。

所以问题是,自定义身份验证和令牌的生成必须发生在与前端客户端相同的App Service上吗?

干杯 戴夫

1 个答案:

答案 0 :(得分:0)

  

所以问题是,自定义身份验证和令牌的生成必须发生在与前端客户端相同的App Service上吗?

根据您的说明,您使用的是App Service Authentication / Authorization。如果您为自定义日志记录创建了另一个Web应用程序,则需要确保signKey与您的应用服务1相同而audienceissuer等于https://{your-app-service-1}.azurewebsites.net/生成时App Service 2中的JWT令牌2.要在App Service 2中配置signkey,您可以使用App Service 1中的值添加WEBSITE_AUTH_SIGNING_KEY应用程序设置。您可以通过以下方法找到WEBSITE_AUTH_SIGNING_KEY密钥kudu并访问https://{your-app-service-1}.scm.azurewebsites.net/Env.cshtml

要访问您的应用服务,您可以按如下方式发送请求:

GET https://{your-app-name}.azurewebsites.net/xxxxx
Header x-zumo-auth:{authenticationToken}

此外,这是一个类似的问题,您可以关注here