最近csdn改版,有點不適應改版的後臺,覺得沒有以前發博客方便了:
廢話不多說直接說內容吧,接口風格有很多種,但是到最後還是會走到安全驗證這裏
其他驗證我就說了,汽車有bba互聯網就拿b(百度)t(淘寶)t(騰訊)來說吧!雖然我不知道他們內部的安全驗證怎麼走的,但是調用三家sdk接口之後我回過頭也看了原聲的api:
共同點:
1:ascii碼排序這個是逃不掉的,
2:返回數據格式CONTENT_TYPE:application/json類型和CONTENT_TYPE:application/xml類型2種
3:就是key和secret這兩個參數,其實我們可以把這兩個參數看作爲用戶登錄行爲
爲撒這樣說,下面分兩種情況說明,有公開的第三方接口和內部使用的接口
內部使用的接口,“重點” 我們可以登錄,獲取到token,設置token過期時間固定,當每調用一次接口token過期時間,在調用接口至上增加這個固定時間,(那麼這裏還涉及到一個問題,就是怎麼防止用戶登錄失效,不讓用戶不過期呢,這裏就內部需要處理刷新token,但是不可能時時保存着用戶的賬號密碼吧)用戶端可以保存uid和用戶登錄賬號,登錄返回一個和token一起返回的用戶名和密碼加密的字符串。當token失效有這個我們就可以更新這個就好
提供第三方接口,這時候普通登錄獲取token,這種方式就不行了,這時候誕生的開發者中心就是這麼來的,這裏的驗證有2種,一種簽名證書,另外一種就是類似於上面的key和secret去請求接口獲取唯一授權碼,當每調用一次接口token過期時間,在調用接口至上增加這個固定時間,(這裏因爲是別人開發語言內部調用,所以就不存在登錄體驗問題,第三方調用者自己檢測失效拿着key和secret再次去獲取token就好)
上面說完token在說說簽名機制以及其他:
簽名參數ascii碼排序:
但是簽名參數要做內部處理,特殊符號過濾掉再去做簽名