Azure API应用程序登录&认证

时间:2018-01-08 19:34:13

标签: c# azure azure-mobile-services

我已经搜索了近一周的网页,我无法找到问题的解决方案。

我在azure门户上设置了一切用于身份验证的声明,并且在调试会话期间检查后确定了主体。唯一遗漏的是!我无法从下面的url中检索/获取jwt令牌。 验证显然是成功的。如果有人可以照亮我,我会很高兴的。

  

https://dev.azurewebsites.net/.auth/login/done#token=%7B%22authenticationToken%22%3A%22 eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdGFibGVfc2lkIjoic2lkOjJmMDg1ZWY1NDM0MzNlZDM1MzNkYTRkMDgyNGFlY2QyIiwic3ViIjoic2lkOmZjMzhmNGExZjI2ZDI5MTdhMTQzZWMyZDMyZjAwOWIyIiwiaWRwIjoiZmFjZWJvb2siLCJ2ZXIiOiIzIiwiaXNzIjoiaHR0cHM6Ly9kZXYtZjFhZGQwNGUtZjNjZC0xMWU3LWI0ZTktOWEyMTRjZjA5M2FlLmF6dXJld2Vic2l0ZXMubmV0LyIsImF1ZCI6Imh0dHBzOi8vZGV2LWYxYWRkMDRlLWYzY2QtMTFlNy1iNGU5LTlhMjE0Y2YwOTNhZS5henVyZXdlYnNpdGVzLm5ldC8iLCJleHAiOjE1MjA1Mzc1NTUsIm5iZiI6MTUxNTM1NzQ5MH0.z0Ys8dwKO_napvy4Ihfu39mHc6zyBpJIUjSzZWj8abI %22%2C%22user%22%3A%7B%22userId%22%3A%22sid%3Afc38f4a1f26d2917a143ec2d32f009b2%22%7D%7

如果我从校长创建新令牌它正在工作,但我无法从.auth / me服务获取数据。我根本没有使用AD谷歌和Facebook进行身份验证。

2 个答案:

答案 0 :(得分:0)

  

唯一遗漏的是!我无法从以下网址中检索/获取jwt令牌。

您可以对您的网址进行网址解码,然后检索您的azure移动应用后端生成的authenticationToken属性作为针对移动应用后端的后续请求的身份验证令牌。

解码authenticationToken jwt令牌时,我发现issaud与您的域dev.azurewebsites.net不相符。

enter image description here

  

如果我从校长创建新令牌它正在工作,但我无法从.auth / me服务获取数据。

如果您通过浏览器登录(例如https://{your-app-name}.azurewebsites.net/.auth/login/{provider-name} e.g. facebook,google,etc.),则在记录后您可以通过浏览器直接访问https://{your-app-name}.azurewebsites.net/.auth/me。或者您可以将令牌与您的请求一起发送,如下所示:

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

对于基于非Web浏览器的客户端(如移动设备),JSON Web令牌(JWT)将显示在X-ZUMO-AUTH标头中,Mobile Apps客户端SDK将为您处理。您可以关注的详细信息How authentication works in App Service

此外,要自己生成令牌,您需要正确设置audienceissuersigningKeyclaim。您可以按照Post控制器下的CustomAuthController方法了解adrian hall的书Custom authentication的详细信息。

答案 1 :(得分:0)

同时我意识到我试图从错误的方向解决问题。

我试图从我写的服务器Api App服务中获取令牌。而不是像布鲁斯告诉我的那样使用客户端库之一。我错过了 Javascript / HTML 文档部分,它不在主树中,而是在Cordova下。我只看过 Cordova Android IOS 这对我不利。

现在使用以下链接,我可以使用Javascript客户端SDK从网站获取令牌!

https://docs.microsoft.com/en-us/azure/app-service-mobile/app-service-mobile-html-how-to-use-client-library