隐式流程和身份服务器 3:是否可以在不让用户登录的情况下向 JavaScript 客户端授予访问令牌?

Implicit flow & identity Server 3: Is it possible to grant a JavaScript client an access token without having the user log in?

我有一个 public API,我想使用 Identity Server 3 来保护它。

我有一个 MVC 应用程序和一个 Javascript 应用程序,我想确保只有这些客户端可以访问 API,无论用户/资源所有者是否登录或识别。使用 MVC 应用程序中的客户端凭据流很容易做到这一点,但使用隐式流似乎不可能。 (http://oauthlib.readthedocs.io/en/latest/oauth2/grants/implicit.html) <- 依赖于被识别的资源所有者。

有人知道这是否可行吗?我正在使用 oidc-token-manager。

非常感谢。

米。

如果客户端是 "confidential",您只能安全地依赖客户端的身份。这意味着客户端可以安全地存储其客户端机密。

这适用于基于服务器的应用程序(例如,客户端信用流服务器到服务器,或服务器调用的基于代码的流)。

对于 "control" 以外的客户,如 SPA 或 desktop/mobile 应用,这是不可能的。

IdentityServer 始终包含 client_id 声明 - 但上述警告适用。