欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

怎么通過(guò)ASWebAuthenticationSession獲取身份驗(yàn)證Code碼

本篇內(nèi)容介紹了“怎么通過(guò)ASWebAuthenticationSession獲取身份驗(yàn)證Code碼”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)是專業(yè)的依安網(wǎng)站建設(shè)公司,依安接單;提供網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行依安網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

1. 前言

項(xiàng)目中需要實(shí)現(xiàn) GitHub、Google、Apple 登錄,實(shí)現(xiàn)第三方登錄方案有 3 種:

  • 集成第三方一鍵登錄

  • 分別集成 GitHub、Google、Apple 登錄 SDK

  • 不集成 SDK 打開(kāi)瀏覽器登錄

今天來(lái)講一下不集成 SDK 打開(kāi)瀏覽器登錄獲取身份驗(yàn)證。

這需要使用 ASWebAuthenticationSession 獲取身份驗(yàn)證 code 碼。

網(wǎng)站登錄身份驗(yàn)證邏輯:

一些網(wǎng)站作為一種服務(wù)提供了一種用于驗(yàn)證用戶身份的安全機(jī)制。

當(dāng)用戶導(dǎo)航到站點(diǎn)的身份驗(yàn)證URL時(shí),站點(diǎn)將向用戶提供一個(gè)表單以收集憑據(jù)。

驗(yàn)證憑據(jù)后,站點(diǎn)通常使用自定義方案將用戶的瀏覽器重定向到指示身份驗(yàn)證嘗試結(jié)果的URL。

2. 不集成 SDK 打開(kāi)瀏覽器登錄

你可以通過(guò)使用指向身份驗(yàn)證網(wǎng)頁(yè)的 URL 初始化實(shí)例來(lái)在應(yīng)用程序中使用網(wǎng)絡(luò)身份驗(yàn)證服務(wù)。

該頁(yè)面可以是你維護(hù)的頁(yè)面,也可以是由第三方操作的頁(yè)面。

通過(guò)打開(kāi)瀏覽器登錄并獲取身份驗(yàn)證 code 碼,可以分為兩種情況:

  1. 鴻蒙官方戰(zhàn)略合作共建——HarmonyOS技術(shù)社區(qū)

  2. 一種情況是在 App 內(nèi)部打開(kāi)瀏覽器獲取身份驗(yàn)證

  3. 一種是打開(kāi)手機(jī)自帶瀏覽器獲取身份驗(yàn)證

嘗試第一種情況之后 GitHub 和 Apple 均可以正常打開(kāi)瀏覽器并且成功登錄拿到身份驗(yàn)證碼。

但是 Google 提示在 App 內(nèi)部打開(kāi)登錄頁(yè)面是不安全的,因此只能選擇第二種方式。

3. 打開(kāi)手機(jī)自帶瀏覽器獲取身份驗(yàn)證

3.1 配置 URL Types

怎么通過(guò)ASWebAuthenticationSession獲取身份驗(yàn)證Code碼

建議使用 bundle id 保證唯一性。

3.2 定義全局變量

var session: ASWebAuthenticationSession!

var session : ASWebAuthenticationSession! 需要設(shè)置為全局變量,設(shè)置為局部變量會(huì)被釋放掉導(dǎo)致彈框閃現(xiàn)。

3.3 獲取身份驗(yàn)證 code 碼

func oauthLogin(type: String) {     // val GitHub、Google、SignInWithApple     let redirectUrl = "配置的 URL Types"     let loginURL = Configuration.shared.awsConfiguration.authURL + "/authorize" + "?identity_provider=" + type + "&redirect_uri=" + redirectUri + "&response_type=CODE&client_id=" + Configuration.shared.awsConfiguration.appClientId     session = ASWebAuthenticationSession(url: URL(string: loginURL)!, callbackURLScheme: redirectUri) { url, error in         if error != nil {             return         }         if let responseURL = url?.absoluteString {             let components = responseURL.components(separatedBy: "#")             for item in components {                 if item.contains("code") {                     let tokens = item.components(separatedBy: "&")                     for token in tokens {                         if token.contains("code") {                             let idTokenInfo = token.components(separatedBy: "=")                             if idTokenInfo.count > 1 {                                 let code = idTokenInfo[1]                                 print("身份驗(yàn)證 code 碼: \(code)")                                 return                             }                         }                     }                 }             }         }     }     session.presentationContextProvider = self     session.start() }

這里面有兩個(gè)參數(shù),一個(gè)是 redirectUri,一個(gè)是 loginURL。

redirectUri 就是 3.1 配置的白名單,作為頁(yè)面重定向的唯一標(biāo)示。

loginURL 是由 5 塊組成:

  1. 鴻蒙官方戰(zhàn)略合作共建——HarmonyOS技術(shù)社區(qū)

  2. 服務(wù)器地址:Configuration.shared.awsConfiguration.authURL + "/authorize"

  3. 打開(kāi)的登錄平臺(tái):identity_provider = "GitHub"

  4. 重定向標(biāo)識(shí):identity_provider = "配置的 URL Types"

  5. 相應(yīng)類型:response_type = "CODE"

  6. 客戶端 ID:client_id = "服務(wù)器配置"

回調(diào)中的 url 包含我們所需要的身份驗(yàn)證 code 碼,需要層層解析獲取 code。

3.4 指定授權(quán)界面顯示的 window

告訴代理應(yīng)該在哪個(gè) window 展示授權(quán)界面給用戶

#pragma mark - ASAuthorizationControllerPresentationContextProviding extension ViewController: ASWebAuthenticationPresentationContextProviding {     func presentationAnchor(for session: ASWebAuthenticationSession) -> ASPresentationAnchor {         return self.view.window ?? ASPresentationAnchor()     } }

“怎么通過(guò)ASWebAuthenticationSession獲取身份驗(yàn)證Code碼”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

新聞標(biāo)題:怎么通過(guò)ASWebAuthenticationSession獲取身份驗(yàn)證Code碼
URL網(wǎng)址:http://aaarwkj.com/article26/igeejg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站網(wǎng)站營(yíng)銷(xiāo)、軟件開(kāi)發(fā)、品牌網(wǎng)站建設(shè)、用戶體驗(yàn)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司
欧美另类亚洲日本一区二区| 黄色成人av免费看| 在线观看免费国产不卡| 日韩国产传媒在线精品| 国产精品毛片一区二区三区| 精品人妻少妇av一区二区| 九九久久亚洲av成人乱片| 国产精品黄黄久久久免费| 可以看的黄色亚洲网站| 激情五月综合开心五月| 日本韩国一级黄色免费| 日本不卡一二区不久精品免费| 好看的中文字幕人妻少妇| 亚洲成人av在线直播| 亚洲天堂男人的天堂狠狠操| 国产三级在线观看视频| 日本一区二区国产在线| 日韩电影在线播放中文字幕| 日韩中文字幕乱码一区| 超碰欧美性欧美最猛性| 人妻一少妇一区二区三区| 久久精品一区二区三区乱码| 伦理中文字幕一区二区| 日韩欧美一区二区不卡在线| 国产九色av在线一区尤物| 自偷自拍在线免费观看| 亚欧熟女乱色一二三区日韩| 亚洲一区二区三区在线观看| 午夜福利日本一区二区| 美女诱惑丝袜国产国产av丝袜| 年轻的少妇一区二区三区| 国产91黑丝在线视频| 另类欧美亚洲中文在线综合| 十八岁毛片一区二区三区| 自拍偷拍视频欧美第一页| 成人性生交免大片免费| 2018在线不卡爱视频| 欧美日韩一区二区高清在线| 国产白丝扒开做爽爽爽网站| 成人福利在线观看免费视频| 黄色一级日本黄色一级|