有些接口是可以公開訪問的,比如平台首頁的接口,有些接口是不能公開訪問的,比如客戶賬戶的操作。
對于接口來說,需要确定用戶的身份,那麼就涉及到用戶登錄,然而在API中不存在用戶登錄這個概念,我們是使用令牌來控制用戶的身份,也就是将傳統網站中用戶登錄的這個操作轉換為用戶來獲取一個令牌,這個令牌代表着用戶的身份,而且這個身份是分級别的,也就是登錄就是獲取令牌。
獲取令牌的過程(登錄)
攜帶令牌訪問接口的過程
Token有三個層面的驗證:
現在的客戶端是小程序,可以自己設計一套賬号體系來獲取令牌,但是小程序已經提供了一套微信認證體系,沒有必要再小程序裡面設計自己的賬号密碼。小程序可以為每個登錄的用戶生成一個code,code就是一個數字碼,我們需要将這個碼傳向getToken接口,這個code碼是一個去微信的服務器去換取用戶的身份的标識,微信服務器在接收到code碼之後會返回兩個重要的信息openid和session_key,openid就是用戶身份的标識,session_key的作用是在小程序中直接訪問微信服務器拿到一個加密信息,如果要解密這個信息就需要用到session_key,這個信息包括unique_id,這個ID表示的也是用戶唯一标識,與openid的區别是,openid是一個用戶針對一個小程序有一個openid,也就是說一個用戶在不用的小程序中的openid是不同的就算小程序是同一個賬戶下的,而user_id在同一個賬号下注冊的小程序,用戶的unique_id都是相同的,也就是可以跨不用的應用(不同小程序的關聯)。
openid的作用:
不能把openid返回到小程序裡去:
為了減輕數據庫的壓力,我們可以借助緩存機制把令牌存在緩存中以減輕服務器的壓力加快用戶查詢速度(注意openid是存在數據庫中的)。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!