我正在创建一个 node.js webapp 以使用“客户端凭据流”访问 GettyImages API
passport.js 支持吗?如果是,我该如何实施?
我正在创建一个 node.js webapp 以使用“客户端凭据流”访问 GettyImages API
passport.js 支持吗?如果是,我该如何实施?
护照通常用于对您网站上的用户进行身份验证。如果您的(网络)应用程序正在调用外部 API(例如 gettyimages),并且它正在向此类外部系统验证自己,那么您可能不需要它(也不需要任何框架)。客户端凭证流是一个简单的POST:
这取自他们的文档:
POST https://api.gettyimages.com/oauth2/token HTTP/1.1
Host: api.gettyimages.com
Content-Type: application/x-www-form-urlencoded
client_id=abc123&client_secret=yoursecret&grant_type=client_credentials
完整的文档在这里
@eugenio-pace之前的回答是 6 岁,从那时起很多事情都发生了变化。
关于使用客户端凭据访问 GettyImages API,您可以:
使用上面的选项 2,您可以继续使用 API 客户端。如果客户端凭据是通过 REST 调用获得的,您可以使用 PassportJS 和passport-oauth2来构建您的访问逻辑。
PassportJS 现在带有许多策略,值得先检查一下其他替代方案是否对您来说是更好的选择。
很酷的是,如果您想构建一个完整的 OAuth2 提供程序解决方案,那么 PassportJS 也可以为您提供便利。在这种情况下,客户端凭据是通过passport-oauth2-client-password策略(基于oauth2orize)提供的,并在此示例中进行了演示。
除了 oauth2orize 之外,另一个实现 OAuth 服务器的流行包是oauth2-server。