使用个人用户帐户的Azure移动服务.net后端身份验证
本文关键字:移动 Azure 服务 net 身份验证 后端 用户 | 更新日期: 2023-09-27 18:14:04
我有一个使用个人用户帐户的现有ASP.net Web API。
我用它来注册/更改密码/登录等。当我登录时,我收到一个令牌,然后使用这个令牌访问[Authorize]控制器。
。
(授权)公共类ValuesController: ApiController
我已经添加了控制器,数据对象,启动。MobileApp和AppNameApiContext从TODO .net后端Azure移动应用程序到我当前的API。
即TodoController: tableccontroller
这适用于同步/插入等,但如果我将[authorization]添加到控制器,即使我发送与其他API端点使用的相同令牌,它也将始终返回未经授权。
所有的例子我可以找到使用"自定义身份验证Azure移动应用程序"使用Microsoft.Azure.Mobile.Server.Authentication。
我如何使用相同的登录/令牌为两者提供身份验证(ValuesController: ApiController)和(TodoController: tableccontroller)
万分感谢
我正试图找到一个解决方案,如
app.UseAppServiceAuthentication(new AppServiceAuthenticationOptions
{
SigningKey = signingKey,
ValidAudiences = new[] { hostName },
ValidIssuers = new[] { hostName },
TokenHandler = new MyClass (config)
});
public class MyClass : AppServiceTokenHandler
{
public override bool TryValidateLoginToken
(string token,
string signingKey,
IEnumerable<string> validAudiences,
IEnumerable<string> validIssuers,
out ClaimsPrincipal claimsPrincipal)
{
if (CheckIfUserIsAuth(token))
{
return true;
}
// Or something like
// if(token== CurrentUserToker)
// { return true};
}
}
但是我仍然收到未授权,无论我返回true还是false
不幸的是,你一开始就错了。您需要从Azure移动应用程序启动。其中包含必要的逻辑,可以使用EasyAuth从移动设备进行身份验证。我建议从教程开始——它有你选择的前端和后端。然后可以根据需要展开