2022-05-26 【中央資訊C#開發服務臺】
今天分享一下兩個問題的解決方案。
問題一:HTTPS跳轉問題
近期有開發者發現獲取Token時有時會失敗,究其原因發現是瀏覽器端網頁跳至了HTTPS了。跳至HTTPS并沒有什麽大問題,主要原因開發者的系統在請求 authorization_endpoint 端口時 redirect_url 使的是 http 開頭,而在請求 token_endpoint 端口時 redirect_url 使的是 https 開頭,因為兩次傳入的 redirect_url 不一致造成獲取Token時有時失敗。
問題二:怎樣刷新access_token
要刷新access_token,需要分2步來看。首先要獲得refresh_token,再用refresh_token請求 token_endpoint 端口,刷新access_token。
一)獲得refresh_token,需要注意如下兩點。
1)客戶端必須設定 AllowOfflineAccess 為 true。
2)Scope必須傳入 offline_access,這樣輸入的結果才會有refresh_token。如下兩個圖所示。
二)刷新access_token
再次請求 token_endpoint 端口,傳入refresh_token,grant_type=refresh_token 以及你的客戶端帳號密碼,即可刷新access_token。