无法获取Azure移动服务的AzureActiveDirectoryCredentials AccessToken

时间:2014-10-05 05:12:42

标签: sharepoint azure windows-phone-8.1 azure-mobile-services azure-active-directory

我一直在关注Azure移动服务教程(here),但我的身份验证过程无法正常运行。

我可以让我的手机应用程序正确登录,并且看起来字段设置正确,但是当我获得AzureActiveDirectoryCredentials时,AccessToken为空。

我用来访问Sharepoint的代码是:

    var identities = await user.GetIdentitiesAsync();
    AzureActiveDirectoryCredentials creds = identities.OfType<AzureActiveDirectoryCredentials>().FirstOrDefault();
    return creds == null ? null : new SharepointContext(creds.AccessToken, settings);

由于AccessToken为null,我无法在示例代码中创建较低的UserAssertion,因此我的服务始终返回500错误。生成的异常是:

Exception=System.ArgumentNullException: Value cannot be null.
Parameter name: assertion

生成异常的代码如下所示:

    AuthenticationContext ac = new AuthenticationContext(authority);
    AuthenticationResult ar = ac.AcquireToken(sharepointURL, new ClientCredential(clientId, clientSecret), new UserAssertion(userToken));

我可以成功加载表API中的数据,因此我确信我的移动服务配置正确。

我用来访问移动服务的代码是:

JToken result = await App.MobileService.InvokeApiAsync("contacts", HttpMethod.Get, new Dictionary<string, string>());

有没有人有成功的工作?

0 个答案:

没有答案