你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于 Java 的 Azure 混合现实客户端库 - 版本 1.2.18
混合现实服务(如 Azure 空间定位点、Azure 远程渲染等)使用 混合现实 安全令牌服务 (STS) 进行身份验证。 此包支持从 STS 交换混合现实帐户凭据,该令牌可用于访问混合现实服务。
源代码 | 包 (Maven) | API 参考文档 | 产品文档
入门
先决条件
- 必须具有 Azure 订阅。
- 必须具有 Azure 混合现实服务的帐户:
- Java 开发工具包 (JDK) 8 或更高版本。
- Apache Maven。
- 熟悉 Azure.Identity 中的身份验证和凭据概念。
添加包
包括 BOM 文件
请将 azure-sdk-bom 包含在项目中,以依赖于库的正式发布 (GA) 版本。 在以下代码段中,将 {bom_version_to_target} 占位符替换为版本号。 若要详细了解 BOM,请参阅 AZURE SDK BOM 自述文件。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-sdk-bom</artifactId>
<version>{bom_version_to_target}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
然后在依赖项部分中包括直接依赖项,不带版本标记,如下所示。
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-mixedreality-authentication</artifactId>
</dependency>
</dependencies>
包括直接依赖项
如果要依赖于 BOM 中不存在的特定库版本,请将直接依赖项添加到项目,如下所示。
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-mixedreality-authentication</artifactId>
<version>1.2.18</version>
</dependency>
验证客户端
混合现实服务支持几种不同形式的身份验证:
- 帐户密钥身份验证
- 使用帐户密钥可以快速开始使用混合现实服务。 但是,在将应用程序部署到生产环境之前,我们建议你将应用更新为使用 Azure AD 身份验证。
- Azure Active Directory (AD) 令牌身份验证
- 如果你正在生成企业应用程序,并且你的公司使用 Azure AD 作为其标识系统,则你可以在应用中使用基于用户的 Azure AD 身份验证。 然后,使用现有的 Azure AD 安全组授予对混合现实帐户的访问权限。 还可以直接向组织中的用户授予访问权限。
- 否则,我们建议从支持你的应用的 Web 服务获取 Azure AD 令牌。 建议将此方法用于生产应用程序,因为它可避免在客户端应用程序中嵌入用于访问混合现实服务的凭据。
有关详细说明和信息,请参阅 此处 。
关键概念
MixedRealityStsClient
MixedRealityStsClient
是用于访问 混合现实 STS 以获取访问令牌的客户端库。
从混合现实 STS 获取的令牌的生存期为 24 小时。
示例
创建客户端
对于同步客户端:
AzureKeyCredential keyCredential = new AzureKeyCredential(accountKey);
MixedRealityStsClient client = new MixedRealityStsClientBuilder()
.accountDomain(accountDomain)
.accountId(accountId)
.credential(keyCredential)
.buildClient();
对于异步客户端 (请注意对 buildAsyncClient
的调用, buildClient
而不是) :
AzureKeyCredential keyCredential = new AzureKeyCredential(accountKey);
MixedRealityStsAsyncClient client = new MixedRealityStsClientBuilder()
.accountDomain(accountDomain)
.accountId(accountId)
.credential(keyCredential)
.buildAsyncClient();
检索访问令牌
AzureKeyCredential keyCredential = new AzureKeyCredential(accountKey);
MixedRealityStsClient client = new MixedRealityStsClientBuilder()
.accountDomain(accountDomain)
.accountId(accountId)
.credential(keyCredential)
.buildClient();
AccessToken token = client.getToken();
有关更复杂的身份验证方案,请参阅 上面的 身份验证示例。
在混合现实客户端库中使用访问令牌
某些混合现实客户端库可能会接受访问令牌来代替凭据。 例如:
// getMixedRealityAccessTokenFromWebService is a hypothetical method that retrieves
// a Mixed Reality access token from a web service. The web service would use the
// MixedRealityStsClient and credentials to obtain an access token to be returned
// to the client.
AccessToken accessToken = getMixedRealityAccessTokenFromWebService();
SpatialAnchorsAccount account = new SpatialAnchorsAccount(accountId, accountDomain);
SpatialAnchorsClient client = new SpatialAnchorsClient(account, accessToken);
注意:上述 SpatialAnchorsClient
用法是假设的,可能不会反映实际库。 请参阅所使用的客户端库的文档,确定是否以及如何支持此功能。
疑难解答
描述常见错误和异常,在必要时如何“解压缩”它们,并包括正常处理和恢复的指南。
提供信息以帮助开发人员避免他们可能会遇到的限制或其他服务强制实施的错误。 例如,提供有关在 API 中使用重试或连接策略的指导和示例。
如果包或相关包支持,请包含日志记录或启用检测的提示,以帮助他们调试代码。
后续步骤
支持使用 混合现实 身份验证进行身份验证的客户端库
支持混合现实身份验证的库即将推出。
贡献
本项目欢迎贡献和建议。 大多数贡献要求你同意贡献者许可协议 (CLA),并声明你有权(并且确实有权)授予我们使用你的贡献的权利。 有关详细信息,请访问 https://cla.microsoft.com 。
提交拉取请求时,CLA 机器人将自动确定你是否需要提供 CLA,并相应地修饰 PR(例如标签、注释)。 直接按机器人提供的说明操作。 只需使用 CLA 对所有存储库执行一次这样的操作。
此项目采用了 Microsoft 开放源代码行为准则。 有关详细信息,请参阅行为准则常见问题解答,或如果有任何其他问题或意见,请与 联系。