我有一些問題了解如何使用oAuth2rize和passport.js實現資源所有者密碼流,具體是傳輸client_id和client_secret以便我可以對客戶端進行一些檢查,以確保使用特定的「密碼」授權類型進入該端點(/令牌)的任何內容都是專門的官方應用程序,而不是基於該標識和密碼的其他內容。使用oAuth2orize爲「資源所有者密碼流」傳遞可信的客戶端信息
在構建解決方案時,我可以取回令牌,但是之前我曾試圖在客戶端上進行任何驗證。當我嘗試訪問傳遞給密碼交換策略的客戶端變量(發佈到終點)時,我收到基於文檔的用戶憑據(用戶名,密碼),但不是我需要在此處實現的用戶憑據。
我不知道如何獲得實際的客戶端憑據,我可以在密碼功能源代碼中看到,您可以提供其他選項來覆蓋對req ['user']的默認分配,但這是否意味着我必須提供某種代碼才能添加到req對象中?
我已經安裝了一些集成測試,這裏是我怎麼叫我的終點(使用SuperTest):
request('http://localhost:43862')
.post('/oauth/token')
.type('form')
.send({ grant_type: 'password' })
.send({ client_id: 'goodClient' })
.send({ client_secret: 'asecret' })
.send({ username: '[email protected]' })
.send({ password: 'goodpassword' })
.expect(200, done);
出於某種原因,我似乎在想這是完全,但由於某種原因,我完全難住了。 ...
謝謝..你的問題對我很有幫助。真的感謝 –