LoginWithMicrosoftAccountAsync总是以401失败

本文关键字:失败 LoginWithMicrosoftAccountAsync | 更新日期: 2023-09-27 18:02:41

我创建了一个通用的应用程序和一个azure移动服务。我按照azure网站上提供的教程添加了microsoft帐户身份验证。我正在使用最新的Live SDK。

客户端,我使用的代码,这是或多或少直接从教程:

const string ReferralUrl = "https://my-url-here.azure-mobile.net/";
static MobileServiceClient MobileService = new MobileServiceClient(
          "https://my-url-here.azure-mobile.net/",
          "my key");
MobileServiceUser _user;
private LiveConnectSession _session;
private async Task Authenticate()
{
    var authClient = new LiveAuthClient(ReferralUrl);
    while (_session == null)
    {
        var result = await authClient.LoginAsync(new[] { "wl.basic" });
        if (result.Status == LiveConnectSessionStatus.Connected)
        {
            _session = result.Session;
            var client = new LiveConnectClient(result.Session);
            var meResult = await client.GetAsync("me");
            return;
        }
        else
        {
            break;
        }
        }
    _session = null;
}
public async Task<bool> Login()
{
    try
    {
        await Authenticate();
        _user = await MobileService
                .LoginWithMicrosoftAccountAsync(_session.AuthenticationToken);
        }
    catch (Exception ex)
    {
        //Debug.WriteLine(ex.Message);
            //return false;
    }
    return true;
}

以下事实已被验证此应用程序:

  • 商店条目已创建
  • 商店条目已经与通用应用程序相关联(这已经在win8.1和wp8.1项目中执行)
  • 商店应用程序有以下设置:
    • 手机或桌面:是
    • jwt:是的
    • <
    • 安全:激活/gh>
    • 重定向url:设置为https://my-url-here.azure-mobile.net/login/microsoftaccount

在azure门户的identity选项卡中,已经输入并保存了客户端id和密钥。但是,没有package-SID(这在本教程中也没有提到)。

我下载了使用移动服务创建的服务项目,并将其添加到我的解决方案中。此外,我还在WebApiConfig类中添加了SetIsHosted(true)标志。最后,我将AuthorizeLevel属性添加到TodoItemController,并将其设置为User Level。服务已成功发布到azure。

当我运行我的应用程序并调用Login时,它将导致401异常。不管我是在本地运行还是在主机上运行。

任何想法?

LoginWithMicrosoftAccountAsync总是以401失败

此功能-基于来自Microsoft帐户(live SDK)或Facebook的客户端SDK的信息的身份验证-目前在移动服务的。net后端不支持。. net后端支持的是通过web界面对Microsoft/Facebook/Google/Twitter进行身份验证,或者对Azure Active Directory进行客户端身份验证。对您想要的特性的支持应该在即将发布的版本中实现。你可以查看Azure Mobile团队的博客,了解它何时上线。