passport.js是否支持“客户端凭证流程”?

时间:2014-02-19 13:39:00

标签: node.js oauth-2.0 passport.js

我正在创建node.js webapp以使用' Client Credentials Flow'

访问gettyimages api

passport.js是否支持它?如果是的话,我该如何实现呢?

2 个答案:

答案 0 :(得分:1)

通常用于对您网站上的用户进行身份验证。如果您的(Web)应用程序正在调用外部API(例如gettyimages),并且它正在向这样的外部系统进行身份验证,那么您可能不需要它(并且也不需要任何框架)。 客户端凭据流是一个简单的POST:

https://github.com/gettyimages/connect/tree/master/documentation/endpoints/oauth2#example-request-2

答案 1 :(得分:0)

@ eugenio-pace以前的answer才6岁,从那以后,很多事情都变了。

关于使用客户端凭据访问GettyImages API,您可以:

  1. 仍然直接进行API调用。 This example(尽管在Python中)显示了操作方式。
  2. 使用适用于您的语言的GettyImages客户端SDK。其中有很多,但是在gettyimages-api_nodejs中为NodeJS解释了客户端凭据。

使用上面的选项2,您可以继续使用API​​客户端。如果客户端凭据是通过REST调用获得的,则可以将PassportJS与passport-oauth2结合使用来构建访问逻辑。

PassportJS如今带有许多Strategies,值得首先检查一下其他替代方案是否对您来说是更好的选择。


很酷的事情是,如果您想构建一个完整的OAuth2提供程序解决方案,那么PassportJS也可以为您提供便利。在这种情况下,客户凭据是通过passport-oauth2-client-password策略(基于oauth2orize)提供的,并在this example中得到了证明。

oauth2-server之外,另一个用于实现OAuth服务器的流行软件包是enter image description here