Stripe Connect 身份验证失败 - invalid_client:没有这样的 API 密钥:Bearer
Stripe Connect Authentication failure - invalid_client: No such API key: Bearer
我正在使用 OmniAuth-StripeConnect Gem 在 Rails 上进行 Ruby 工作,每次我尝试连接到 Stripe Connect API 时都会遇到此故障身份验证,'redirecting' 我到 Omniauth 回调控制器的失败方法:
E, [2018-05-28T13:41:50.435158 #58778] ERROR -- omniauth (stripe_connect) Authentication failure! invalid_credentials: OAuth2::Error, invalid_client: No such API key: Bearer
{
"error": "invalid_client",
"error_description": "No such API key: Bearer"
}
我在文档中发现 invalid_client
的错误意味着其中之一:
https://stripe.com/docs/connect/oauth-reference#post-deauthorize-error-codes
client_id
不属于你
stripe_user_id
不存在或未连接到您的应用程序
- API按键模式(直播或测试模式)与
client_id
模式不匹配
但我仔细检查了一下,发现是 none 个。
有人有想法吗?
我认为您是在使用带测试 API 键的现场卡进行测试?
老问题,我知道,但我今天也遇到了这个错误,它可能会在以后帮助其他人。 repo/gem 的所有者说他不再是 "really supporting" 了,无论如何。此答案假设您正在尝试让用户在 Stripe 上创建他们的帐户并将身份验证令牌传回您的控制器。
我决定完全不使用 gem。在 'undoing' 安装说明之后,我发现将 stripe_connect
方法保留在 OmniauthCallbacksController
下仍然可以正常工作——只是不会出现上述错误。
根据 Stripe Connect 文档 (https://stripe.com/docs/connect/standard-accounts#redirected),如果您没有收到错误代码,则请求成功。您应该在响应中收到一个授权代码,该代码可用于通过 API 访问该用户的 Stripe 帐户。在令牌过期之前,您只有五分钟的时间使用该令牌。我想如果你错过了,你将需要重新开始整个过程。
希望对您有所帮助。
对于可能发现此问题的其他人,当我遇到此问题时,那是因为我没有正确设置 omniauth 初始化程序以包含所需的条带键:
我设置了这个文件:
# config/initializers/omniauth.rb
Rails.application.config.middleware.use OmniAuth::Builder do
provider :stripe_connect, ENV['STRIPE_CONNECT_CLIENT_ID'], ENV['STRIPE_CLIENT_SECRET']
end
但是忘记将密钥放入我的 .env
文件中。
确保使用正确的密钥设置环境。
我正在使用 OmniAuth-StripeConnect Gem 在 Rails 上进行 Ruby 工作,每次我尝试连接到 Stripe Connect API 时都会遇到此故障身份验证,'redirecting' 我到 Omniauth 回调控制器的失败方法:
E, [2018-05-28T13:41:50.435158 #58778] ERROR -- omniauth (stripe_connect) Authentication failure! invalid_credentials: OAuth2::Error, invalid_client: No such API key: Bearer
{
"error": "invalid_client",
"error_description": "No such API key: Bearer"
}
我在文档中发现 invalid_client
的错误意味着其中之一:
https://stripe.com/docs/connect/oauth-reference#post-deauthorize-error-codes
client_id
不属于你stripe_user_id
不存在或未连接到您的应用程序- API按键模式(直播或测试模式)与
client_id
模式不匹配
但我仔细检查了一下,发现是 none 个。
有人有想法吗?
我认为您是在使用带测试 API 键的现场卡进行测试?
老问题,我知道,但我今天也遇到了这个错误,它可能会在以后帮助其他人。 repo/gem 的所有者说他不再是 "really supporting" 了,无论如何。此答案假设您正在尝试让用户在 Stripe 上创建他们的帐户并将身份验证令牌传回您的控制器。
我决定完全不使用 gem。在 'undoing' 安装说明之后,我发现将 stripe_connect
方法保留在 OmniauthCallbacksController
下仍然可以正常工作——只是不会出现上述错误。
根据 Stripe Connect 文档 (https://stripe.com/docs/connect/standard-accounts#redirected),如果您没有收到错误代码,则请求成功。您应该在响应中收到一个授权代码,该代码可用于通过 API 访问该用户的 Stripe 帐户。在令牌过期之前,您只有五分钟的时间使用该令牌。我想如果你错过了,你将需要重新开始整个过程。
希望对您有所帮助。
对于可能发现此问题的其他人,当我遇到此问题时,那是因为我没有正确设置 omniauth 初始化程序以包含所需的条带键:
我设置了这个文件:
# config/initializers/omniauth.rb
Rails.application.config.middleware.use OmniAuth::Builder do
provider :stripe_connect, ENV['STRIPE_CONNECT_CLIENT_ID'], ENV['STRIPE_CLIENT_SECRET']
end
但是忘记将密钥放入我的 .env
文件中。
确保使用正确的密钥设置环境。