2

我正在使用 Azure 管理库开发一个 windows phone 应用程序来管理我的 Azure 网站。我使用 Azure Active Directory 进行身份验证,如此处所述一切对我来说都很好。但是当其他用户使用他的帐户登录时,我收到“AuthenticationFailed:收到的 JWT 令牌发生安全令牌异常”错误。

有什么方法可以让任何拥有 Azure 订阅的人都可以访问我的 Windows Phone 应用程序?如何处理此身份验证问题以使用 MAML?

4

2 回答 2

0

正如 user2955724 所指出的,您可以获得属于某个帐户的订阅列表,但您无法使用 Azure AD 管理与其相关的任何资源,除非特定用户在您的 AD 中。

我遇到了同样的问题,不得不求助于使用发布设置文件。我包含了一个 Webview,其中包含发布设置下载链接的链接。您解析文件并获取证书和订阅 ID。

Windows Phone API 中没有 X.509Certificate2 类,但您可以使用Windows.Security.Cryptography.Certificates命名空间将证书附加到您的 HTTP 请求。

public async Task<Certificate> GetCertificate(string certificateRawData)
{
     await CertificateEnrollmentManager.ImportPfxDataAsync(certificateRawData,"",ExportOption.Exportable,KeyProtectionLevel.NoConsent,InstallOptions.None,"friendlyName");
     CertificateQuery cq=new CertificateQuery();
     cq.FriendlyName="friendlyName";
     var certs=CertificateStores.FindAllAsync(cq);
     return certs[0];//return Certificate object
}

将此证书附加到HttpBaseProtocolFilter.

于 2014-11-19T09:17:51.960 回答
0

问题是您正在创建的应用程序被允许访问您的资源,而不是其他订阅的资源。

我认为这样做的唯一方法是使用从这里下载的发布设置文件。

在您的用户下载发布设置文件后,他们可以使用该文件来管理本文中描述的资源。

于 2014-09-28T22:11:48.647 回答