0

我正在为我的 azure 移动应用程序(https://www.newventuresoftware.com/blog/custom-authentication-with-azure-mobile-apps)进行自定义身份验证

我创建了AuthControll,它接受用户名和密码并创建令牌。当我调用MobileServiceClient.InvokeApiAsync("Auth", loginInfoDictionary)时,我成功收到了用户名和令牌。我使用收到的令牌创建了新的 MobileServiceUser(username)并将其设置为MobileServiceClient.CurrentUser。但是当我通过需要授权的方法调用MobileServiceClient.InvokeApi时,它告诉我我未经授权。

那我应该如何处理收到的令牌?我可以使用具有此类授权的MobileServiceClient.InvokeApiAsyncMobileServiceClient.GetTable方法吗?如果是,我错过了什么?

4

1 回答 1

0

我在服务器端的解决方案中发现了一个问题。我在创建令牌时忘记指定我的 url 站点。像这样

var signingKey = Environment.GetEnvironmentVariable("WEBSITE_AUTH_SIGNING_KEY");
var audience = "https://TheSiteIForgotToSpecify.azurewebsites.net/"; // audience must match the url of the site
var issuer = "https://TheSiteIForgotToSpecify.azurewebsites.net/"; // audience must match the url of the site
JwtSecurityToken token = AppServiceLoginHandler.CreateToken(
    claims, signingKey, audience, issuer, TimeSpan.FromHours(24));
于 2018-11-21T17:48:14.213 回答