1. 程式人生 > >基於AccessToken方式實現API設計

基於AccessToken方式實現API設計

問題 pan value 需求 ESS 接口 第三方接口 需要 api設計

一、舉例說明:

需求:

  A、B機構需要調用X服務器的接口,那麽X服務器就需要提供開放的外網訪問接口。

分析:

  1、開放平臺提供者X,為每一個合作機構提供對應的appid、app_secret。

  2、appid是唯一的(不能改變),表示對應的第三方合作機構,用來區分不同機構的。

  3、app_secret在傳輸中實現加密功能(秘鑰),該秘鑰可以發生改變的。

  4、為什麽app_secret是可以改變的?調用接口需要appid+app_secret生成對應的access_token(臨時性),如果appid和app_secret被泄密,產生安全性問題,如果一但發現被泄密,可以重新生成一個app_secret。

原理:為每個合作機構創建對應的appid、app_secret,生成對應的access_token(有效期2小時),在調用外網開放接口的時候,必須傳遞有效的access_token。

二、開發步驟

1、使用appid+app_secret生成對應的access_token

 1.獲取生成的AppId和appSecret,並驗證是否可用
2.刪除之前的accessToken
2.AppId和appSecret保證生成對應唯一的accessToken
註意:以上第二步必須保證在同一事務中
3.返回最新的accessToken

2、使用accessToken調用第三方接口

1.獲取對應的accessToken
2.使用AccessToken查詢redis對應的value(appId)
3.如果沒有獲取到對應的appid,直接返回錯誤提示

4.如果能獲取到對應的appid,使用appid查詢對應的APP信息
5.使用appId查詢數據庫app信息,獲取is_flag狀態,如果為1,則不能調用接口,否則正常執行
6.直接調用接口業務

基於AccessToken方式實現API設計