我正在構建一個 React-Node 應用程式來訪問 QuickBooks API,我的第一步是使用intuit-oauth庫從我的節點后端設定授權流程。我使用 OAuth2.0-demo-nodejs 示例應用程式作為我的模板 ( https://github.com/IntuitDeveloper/OAuth2.0-demo-nodejs )。
所以第一步是創建一個授權請求。我沒有在用戶輸入詳細資訊的地方構建 UI,而是在我的應用程式的鍵中進行了硬編碼:
app.get("/authUri", urlencodedParser, (req, res) => {
oauthClient = new OAuthClient({
clientId: "*****",
clientSecret: "*****",
environment: "sandbox",
redirectUri: "http://localhost:8000/callback",
});
const authUri = oauthClient.authorizeUri({
scope: [OAuthClient.scopes.Accounting],
state: "intuit-test",
});
res.send(`this is authUri: ${authUri}`);
});
此代碼正在正常作業并且正在回傳authUri. 然而,接下來要做什么讓我很困惑。檔案說我應該收到一個授權代碼,然后需要將其轉換為令牌,在示例應用程式中,執行此操作的代碼如下:
app.get('/callback', function(req, res) {
oauthClient.createToken(req.url)
.then(function(authResponse) {
oauth2_token_json = JSON.stringify(authResponse.getJson(), null,2);
})
.catch(function(e) {
console.error(e);
});
res.send('');
});
我還在檔案中讀到我需要將用戶重定向到授權頁面,創建一個啟動重定向的 UI,然后獲取授權代碼(https://developer.intuit.com/app/developer/qbo/ docs/develop/authentication-and-authorization/oauth-2.0)。所以我模糊地理解這一點,但我知道在發送授權請求后從哪里開始。建議?
uj5u.com熱心網友回復:
在 OAuth 2.0 授權代碼流中,發起授權請求后,最終用戶被重定向到登錄頁面并輸入其憑據。然后他被重定向到帶有代碼引數的 callback_uri (redirect_uri)。之后,您必須向 /token 端點發出 Post 請求并發送代碼。當一切順利時,您將獲得一個 AccessToken。
授權碼授予
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/337280.html
上一篇:NodeJSexpress-session,如果設定了cookie路徑,cookie不保存
下一篇:在同一索引上附加專案
