iOS端新浪微博騰訊三方登錄苦淚史


? ? 新浪騰訊的三方登錄我是分開做的,當(dāng)時(shí)可能剛自學(xué)ShareSDK的時(shí)候有點(diǎn)蒙矛绘,感覺老是出錯(cuò),就直接在騰訊開放平臺(tái)申請(qǐng)下載SDK在做騰訊的登錄,成功之后再回頭看ShareSDK的時(shí)候仔細(xì)了一點(diǎn)顽分,就發(fā)現(xiàn)了很多之前沒有注意到的問題,最終也成功施蜜。所以就直接放出來的這兩個(gè)的三方登錄卒蘸,使用的不同的途徑。因?yàn)槲⑿派暾?qǐng)的開發(fā)者資質(zhì)需要付費(fèi)翻默,所以直接就拜拜了缸沃。原諒我只是一個(gè)屌絲。

一修械、ShareSDK

? 1.環(huán)境配置

? ? ? 使用ShareSDK的官方說明趾牧,認(rèn)真仔細(xì)不能遺漏不要模糊略過。ShareSDK簡(jiǎn)潔版iOS文檔

? ? ? 其中最后的時(shí)候提到的URL scheme肯污,有興趣的話可以學(xué)習(xí)一下翘单,簡(jiǎn)單說可以理解是移動(dòng)端App之間的通信是通過它做到的吨枉。詳解看這里

? ?2.具體實(shí)踐

? ? ??ShareSDK簡(jiǎn)潔版iOS文檔? 同上哄芜,仔細(xì)慢慢來就好貌亭。 ?

? ? ?到這里應(yīng)該才算開始這篇文章的正文部分。

? ? 3.infoplist中

? (1)iOS9之后忠烛,使用的是https属提,所以需要配置

? ? ?App Transport Security Settings -> Allow Arbitrary Loads ->YES (老生常談了,反正什么都用得上)美尸。

? ? (2)這里需要添加的URL types冤议,就跟上面的 URL scheme有關(guān)系了,所以說還是要多少了解下上邊放出來的連接师坎,人家寫的挺好的恕酸,淺顯的了解的話挺好的,深度的話我也不知道胯陋,因?yàn)槲乙膊惶镂拢蟾胖涝趺椿厥拢賮戆伞?/p>

? ? ? 這一步點(diǎn)到target中的info(其實(shí)哪個(gè)infoplist都差不多遏乔,不過在target里設(shè)置的話稍微簡(jiǎn)單一點(diǎn)义矛,這里ShareSDK文檔也提到,我是又啰嗦了一下)盟萨。

? ? ? 點(diǎn)過來之后最下邊有一個(gè)URL Types


最下邊


? ? ?點(diǎn)開它是這樣的


格式不同

? ? ? ?其中重要的是URL Schemes凉翻,填寫的格式是 tencent (使用的三方平臺(tái)) + 在此平臺(tái)上申請(qǐng)到的appkey。這里只是騰訊的例子捻激,其他都是各找各的東家制轰。

? ? ? (3)完成上一步之后,還需要在infoplist中補(bǔ)充一個(gè)數(shù)組key值為L(zhǎng)SApplicationQueriesSchemes的內(nèi)容胞谭。包括的內(nèi)容有點(diǎn)多垃杖。


注意:請(qǐng)忽略那個(gè)baidumap,與本文沒有關(guān)系丈屹。里邊的內(nèi)容網(wǎng)上也會(huì)搜索到调俘,其實(shí)我是根據(jù)出錯(cuò)顯示缺少了哪個(gè)之后添加上的。

4.具體程序

頭文件該導(dǎo)入的都要導(dǎo)入進(jìn)去旺垒,官方的文檔應(yīng)該都有說明彩库,在此不做贅述。

ShareSDK 調(diào)用了

+ (void)registerApp:(NSString*)appKey ?

activePlatforms:(NSArray*)activePlatforms ?

onImport:(SSDKImportHandler)importHandler ??

onConfiguration:(SSDKConfigurationHandler)configurationHandler;

1.appKey 是我們?cè)赟hareSDK官網(wǎng)申請(qǐng)到的appkey袖牙,是shareSDK的key侧巨,不是三方平臺(tái)申請(qǐng)到的key舅锄。

2.activePlatforms 是一個(gè)數(shù)組鞭达,里邊要放的數(shù)據(jù)是你想要操作的三方平臺(tái)司忱。

3.onImport 是一個(gè)block方法,在這個(gè)方法里用switch來添加每個(gè)平臺(tái)

4.onConfiguration 這個(gè)block方法畴蹭,需要對(duì)在onImport 中添加過的平臺(tái)進(jìn)行注冊(cè) 坦仍,以微博為例,具體方法為

- (void)SSDKSetupSinaWeiboByAppKey:(NSString*)appKey

appSecret:(NSString*)appSecret

redirectUri:(NSString*)redirectUri

authType:(NSString*)authType;

(1)appKey為三方平臺(tái)的appKey值

(2)appSecret 為三方平臺(tái)的appSecret值

(4)authType ?授權(quán)方式叨襟。值可以是:SSDKAuthTypeSSO繁扎、SSDKAuthTypeWeb、SSDKAuthTypeBoth糊闽,分別代表SSO梳玫、網(wǎng)頁授權(quán)、SSO+網(wǎng)頁授權(quán)右犹。

(3)redirectUri :回調(diào)地址 ?提澎,這個(gè)需要重點(diǎn)講 ,栽的最多的地方念链,一天一栽盼忌。

redirectUri的問題?

? ? ?如果你出現(xiàn)過( error:redirect_uri_mismatch )的問題 基本就是這里設(shè)置的問題了

? ? ?先放個(gè)鏈接吧 ?錯(cuò)誤解決方法

? ? ?這個(gè)值對(duì)應(yīng)的是微博開放平臺(tái)-> 我的應(yīng)用 -> 應(yīng)用信息->基本信息->應(yīng)用地址

? ? ?由上面的鏈接地址可以看到,我們需要對(duì)應(yīng)用信息中的高級(jí)信息-> 授權(quán)設(shè)置進(jìn)行操作掂墓,這里的地址其實(shí)隨便寫個(gè)公司的主頁也可以谦纱,不過最好和基本信息的應(yīng)用地址一致。


? ? 微博開放者平臺(tái)設(shè)置完這一步之后君编,要記得在Mob官網(wǎng)進(jìn)行同步設(shè)置跨嘉。

(1)首先進(jìn)入Mob中自己所創(chuàng)建的應(yīng)用后臺(tái)信息,側(cè)邊框部分

點(diǎn)進(jìn)入社會(huì)化平臺(tái)設(shè)置啦粹,進(jìn)來后大致是這樣的

將是否開啟回流短鏈關(guān)閉偿荷,然后選擇要設(shè)置的平臺(tái),我選擇的是微博唠椭。

依照要求填寫你在微博開放平臺(tái)申請(qǐng)的AppKey AppSecret 授權(quán)回調(diào)頁跳纳。

這里的授權(quán)回調(diào)頁填寫的就是微博開放平臺(tái)應(yīng)用信息中的高級(jí)信息-> 授權(quán)設(shè)置中保持一致。

5.實(shí)現(xiàn)代碼

這里可以設(shè)計(jì)寫在一個(gè)點(diǎn)擊事件的觸發(fā)方法里贪嫂,觸發(fā)后調(diào)用三方登錄

ShareSDK調(diào)用

+ (void)getUserInfo:(SSDKPlatformType)platformType

onStateChanged:(SSDKGetUserStateChangedHandler)stateChangedHandler;

platformType 為你選擇的三方平臺(tái)

onStateChanged block方法中對(duì)結(jié)果進(jìn)行判斷 寺庄,是否成功

if(state ==SSDKResponseStateSuccess) {

NSLog(@"==成功");

}else{

NSLog(@"==失敗");

}

到這里ShareSDK微博登錄基本完了,主要的代碼還要看官方的文檔力崇,這篇文章重點(diǎn)是在進(jìn)行操作時(shí)出現(xiàn)的錯(cuò)誤的解釋斗塘。

騰訊自己的SDK實(shí)現(xiàn)三方登錄,未完待續(xù)...

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末亮靴,一起剝皮案震驚了整個(gè)濱河市馍盟,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌茧吊,老刑警劉巖贞岭,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件八毯,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡瞄桨,警方通過查閱死者的電腦和手機(jī)话速,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來芯侥,“玉大人泊交,你說我怎么就攤上這事≈椋” “怎么了廓俭?”我有些...
    開封第一講書人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)唉工。 經(jīng)常有香客問我白指,道長(zhǎng),這世上最難降的妖魔是什么酵紫? 我笑而不...
    開封第一講書人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任告嘲,我火速辦了婚禮,結(jié)果婚禮上奖地,老公的妹妹穿的比我還像新娘橄唬。我一直安慰自己,他們只是感情好参歹,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開白布仰楚。 她就那樣靜靜地躺著,像睡著了一般犬庇。 火紅的嫁衣襯著肌膚如雪僧界。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,624評(píng)論 1 305
  • 那天臭挽,我揣著相機(jī)與錄音捂襟,去河邊找鬼。 笑死欢峰,一個(gè)胖子當(dāng)著我的面吹牛葬荷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播纽帖,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼宠漩,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了懊直?” 一聲冷哼從身側(cè)響起扒吁,我...
    開封第一講書人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎室囊,沒想到半個(gè)月后雕崩,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體凝危,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年晨逝,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片懦铺。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡捉貌,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出冬念,到底是詐尸還是另有隱情趁窃,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布急前,位于F島的核電站醒陆,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏裆针。R本人自食惡果不足惜刨摩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望世吨。 院中可真熱鬧澡刹,春花似錦、人聲如沸耘婚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽沐祷。三九已至嚷闭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間赖临,已是汗流浹背胞锰。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留兢榨,地道東北人胜蛉。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像色乾,于是被迫代替她去往敵國和親誊册。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容