IdentityServer4:当客户端不知道client_secret时,使用refresh_token获取新的access_token

时间:2017-02-26 00:54:05

标签: identityserver4 refresh-token

首先:我可以成功拨打

http://localhost:7791/connect/token POST
 grant_type=refresh_token
&refresh_token={refresh_token}
&client_id=resource-owner-client
&client_secret=secret

并返回一个新的access_token,refresh_token,expires_in和token_type。

但是,我想在没有client_secret的情况下这样做。 在我的情况下,我的客户端是已发出启动access_token,refresh_token等的远程应用程序。

使用此电话。

http://localhost:7791/connect/token POST
grant_type=password
&scope=arbitrary offline_access
&client_id=resource-owner-client
&client_secret=secret&username=rat&password=poison

初始调用是可信的,秘密知道,但下游使用refresh_token不应该需要client_secret。

我如何配置这个或在哪里编写自己的抽象来使事情以这种方式工作?

1 个答案:

答案 0 :(得分:1)

没有开箱即用。

您可以使用扩展程序授予实现该目的。

https://identityserver4.readthedocs.io/en/release/topics/extension_grants.html