Пользовательская проверка подлинности мобильного приложения Azure и MobileServiceClient - PullRequest
0 голосов
/ 20 ноября 2018

Я выполнял пользовательскую аутентификацию для своего мобильного приложения Azure (https://www.newventuresoftware.com/blog/custom-authentication-with-azure-mobile-apps)

Я создал AuthControll , который принимает имя пользователя и пароль и создает токен. Когда я вызываю MobileServiceClient.InvokeApiAsync(«Auth», loginInfoDictionary) , я успешно получил имя пользователя и токен. Я создал новый MobileServiceUser (имя пользователя) с полученным токеном, для которого установлено значение MobileSeviceClient.CurrentUser .Но когда я вызываю MobileServiceClient.InvokeApi поверх метода, который требует авторизации, он говорит мне, что я не авторизован.

Что я должен делать с полученным токеном? Могу ли я использовать MobileServiceClient.InvokeApiAsync и MobileServiceClient.GetTable методы с этим типом авторизации? Если да, то чего мне не хватает?

1 Ответ

0 голосов
/ 21 ноября 2018

Я нашел проблему в своем решении на стороне сервера.Я забыл указать свой 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));
...