我可以使用grant_type ="密码"获取refresh_token以刷新access_token以访问我的API

时间:2017-02-10 12:58:23

标签: oauth-2.0 identityserver4

我创建了一项服务,无需用户交互,即可访问我的API。 Api需要了解用户。因此,我需要资源所有者流程。

为了访问我的Api,我需要一个具有正确范围的访问权限" MyApiScope"。 我可以使用指定scope =" MyApiScope"的资源所有者流来获取access_token。但是我不会以这种方式获得刷新令牌。

我可以使用指定scope =" offline_access"的资源所有者流获取refresh_token。但是使用此刷新令牌生成的access_tokens不能用于访问我的Api,因为它们不包含正确的范围," offline_access" !=" MyApiScope"。

在这种情况下,是否只能使用刷新令牌,因此我是否应始终使用用户名/密码来获取新的access_token?

感谢您的建议。

1 个答案:

答案 0 :(得分:1)

只需添加以空格分隔的所有必需范围 grant_type=password&username={USERNAME}&password={PASSWORD}&‌​client_id={CLIENT_ID‌​}&client_secret={CLI‌​ENT_SECRET}&scope=My‌​ApiScope offline_access