Skip to main content

XGameUiShowWebAuthenticationAsync

启动异步身份验证请求,显示一个 Web UI,允许用户委托访问外部网站和服务,而无需直接向正在运行的游戏提供其凭据。

语法

参数

async   _In_
类型:XAsyncBlock*
指向传递给 XAsyncRunXAsyncBlock 的指针。 requestingUser   _In_
类型:XUserHandle
请求进行 Web 身份验证的用户的句柄。 requestUri   _In_z_
类型:char*
向用户呈现的 Web 视图的初始 URI(可能包含用于用户向服务进行身份验证的字段)。请求 URI 必须是安全的 HTTPS 地址。 completionUri   _In_z_
类型:char*
表示 Web 身份验证过程成功完成的 URI。当 Web 视图导航到与 completionUri 匹配的 uri 时,Web 视图将关闭,控制权返回给调用游戏。

返回值

类型:HRESULT 异步调用的 HRESULT 成功或错误代码。 若要获取结果,请在 AsyncBlock 回调中或 AsyncBlock 完成后调用 xgameuishowwebauthenticationresultsizexgameuishowwebauthenticationresult

备注

当此异步任务运行时,系统会向用户呈现一个 Web 视图(覆盖在当前应用程序之上),用户可以与之交互,或按“返回”将其关闭。这样一来,用户可以使用 OAuth 向外部网站和服务授予访问权限。这可用于诸如让游戏进行身份验证以在社交媒体上分享游戏亮点、向外部提供程序请求用户数据等场景。 身份验证请求的结果存储在 XGameUiWebAuthenticationResultData 对象中,该对象由 XGameUiShowWebAuthenticationResult 方法返回。 如果 Web 视图因导航到 completionUri 而关闭,则结果数据结构的 responseStatus 字段将为 S_OK 如果用户取消或以其他方式手动关闭 Web 视图,则结果数据结构的 responseStatus 字段将为 E_CANCELLED

示例

以下代码示例演示了如何使用 Facebook 执行 OAuth。为了使代码简洁,此示例未包含内存分配错误处理。

要求

标头: XGameUI.h 库: xgameruntime.lib 支持的平台: Windows、XBOX One 系列主机和 XBOX Series 主机

请参阅

XGameUI XGameUiShowWebAuthenticationWithOptionsAsync XGameUiShowWebAuthenticationResultSize
XGameUiShowWebAuthenticationResult
XGameUiWebAuthenticationResultData
异步编程模型
最后修改于 2026年8月24日