XGameUiShowWebAuthenticationWithOptionsAsync
開始非同步驗證要求,該要求會顯示網頁 UI (可能為全螢幕),讓使用者能將存取權委派給外部網站和服務,而不需要直接向執行中的遊戲提供其認證。語法
參數
async _In_類型:XAsyncBlock* 指向傳遞給 XAsyncRun 之 XAsyncBlock 的指標。 requestingUser _In_
類型:XUserHandle 要求網頁驗證之使用者的控制代碼。 requestUri _In_z_
類型:char* 呈現給使用者之網頁檢視的初始 URI (可能包含讓使用者向服務進行驗證的欄位)。要求 URI 必須是安全的 HTTPS 位址。 completionUri _In_z_
類型:char* 表示代表網頁驗證程序成功完成的 URI。當網頁檢視巡覽至符合 completionUri 的 URI 時,網頁檢視會關閉,並將控制權交還給呼叫的遊戲。 options &nbps; _In_ 類型:XGameUiWebAuthenticationOptions 表示是否嘗試以全螢幕顯示 UI 的旗標。在 PC 上會忽略此旗標。PC 不支援全螢幕 選項。
傳回值
類型:HRESULT 非同步呼叫的 HRESULT 成功或錯誤碼。 若要取得結果,請在 AsyncBlock 回呼內或 AsyncBlock 完成之後,呼叫 xgameuishowwebauthenticationresultsize 和 xgameuishowwebauthenticationresult。備註
當此非同步工作執行時,系統會向使用者呈現網頁檢視 (覆蓋在目前的應用程式上),使用者可以與其互動,或按下返回來關閉它。這可讓使用者使用 OAuth 將授權權限授與外部網站和服務。這可用於下列情境:驗證遊戲以在社群媒體上分享遊戲內精彩片段、向外部提供者要求使用者資料等。 驗證要求的結果會儲存在 XGameUiWebAuthenticationResultData 物件中,該物件是由 XGameUiShowWebAuthenticationResult 方法傳回。 如果網頁檢視因巡覽至 completionUri 而關閉,則結果資料結構的 responseStatus 欄位會是S_OK。
如果使用者取消或以其他方式手動關閉網頁檢視,則結果資料結構的 responseStatus 欄位會是 E_CANCELLED。
範例
下列程式碼範例示範如何使用 Facebook 執行 OAuth。為了讓程式碼保持簡潔,此範例不包含記憶體配置錯誤處理。需求
標頭: XGameUI.h 程式庫: xgameruntime.lib 支援的平台: Windows、XBOX One 系列主機和 XBOX Series 主機另請參閱
XGameUI XGameUiShowWebAuthenticationAsyncXGameUiShowWebAuthenticationResultSize
XGameUiShowWebAuthenticationResult
XGameUiWebAuthenticationResultData
非同步程式設計模型
