我正在嘗試使用identityserver4構建身份提供程序應用程序;目前,我正在使用「資源所有者密碼憑證」流程,並從令牌端點返回access_token和refresh_token。如何通過「password」grant_type從identityserver4獲取id_token和access_token?
代碼段從客戶端調用TokenEndpoint
var tokenClient = new TokenClient(<TokenEndpoint>, <ClientId>, <ClientSecret>);
var tokenResponse = await tokenClient.RequestResourceOwnerPasswordAsync(<UserName>, <password>, <Scopes>);
我的問題是,如何讓「id_token」與「的access_token」和「refresh_token」一起使用相同的「資源所有者密碼憑據」流?
謝謝@Shaun。有沒有其他方法可以從令牌端點獲取access_token和id_token? –
@ codeninja.sj是的。您可以使用其中一個OpenID Connect流程。在你的情況下,授權碼流程似乎是最好的候選人。但是,如果您正在構建基於Web瀏覽器的應用程序,則需要Implicit Flow。 –
授權碼流只接受「用戶名」和「密碼」,但不接受「client_id」和「client_secret」; 「隱式代碼流」。接受「client_id」和「client_secret」,但不接受「用戶名」和「密碼」。但我必須通過所有這些參數才能獲得令牌。有沒有其他更好的方法來實現這一目標? –