我有一个使用oauth gem从google oauth1迁移到oauth2的脚本
一切似乎都是正确的,我无法检测到标头的任何问题,但它仍然响应:无效的授权标头。
以下是标题:
正在打开与帐户的连接。谷歌。通讯:443。。。已打开帐户的启动SSL。谷歌。通讯:443。。。已建立SSL
-
-
-
-
-
-
-
-
-
-
-
-
正在读取全部。。。
-
读取90字节连接关闭
代码如下:
oauth1_consumer_key = "mykey"
oauth1_consumer_secret = "Gxxxxxxxxxxxxxxxxqb8"
# OAuth 1 - User Token / Secret.
oauth1_token = '1/9G2xxxxxxxxxxxxxxsw2o'
oauth1_secret = 'a-xxxxxxxxxxxxxxxmqG'
# OAuth 2 - Application ID / Secret
oauth2_client_id = "the_id"
oauth2_client_secret = "C-xxxxxxxxxxxxxxxxV"
# Migration Parameters.
params = {
"grant_type" => "urn:ietf:params:oauth:grant-type:migration:oauth1",
"client_id" => oauth2_client_id,
"client_secret" => oauth2_client_secret,
# "oauth_signature_method" => "HMAC-SHA1"
}
# Create the consumer object.
consumer = OAuth::Consumer.new(
oauth1_consumer_key,
oauth1_consumer_secret,
:site => 'https://accounts.google.com',
:scheme => :header
)
# Create the access token object.
access_token = OAuth::AccessToken.new(consumer, oauth1_token, oauth1_secret)
resp = access_token.post(
"/o/oauth2/token",
params,
{ 'Content-Type' => 'application/x-www-form-urlencoded' })
if resp.code.to_s != "200"
# Raise an error.
raise "#{resp.code} - #{resp.body}"
end
有什么想法吗?
更新oauth gem后,我又试了一次,它起作用了。
正如通常发生的那样,客户更改了他们的G Suite电子邮件密码,我们使用该密码发送电子邮件(在Java@AppEngine上)。令牌如预期的那样被撤销了,并且我们设法使所有的东西都能在DEV和UAT环境中正常工作,然而PROD由于某种原因仍然得到了臭名昭著的“无效授权”。我想知道数据存储中是否有一些缓存保存原始凭据?Stackdriver不允许对方法调用求值,因此无法看到里面的内容。我们怀疑这与缓
我已经在stackoverflow中阅读了一些关于这个主题的其他帖子,但我仍然没有找到解决方案...:\ 非常感谢您的支持!
登录时我总是得到无效的授权类型。我使用的是Laravel 7和passport 8.4。 我可以确认,我创建的client_secret没有错误运行php artisan护照:安装,但我找不到任何可能性,为什么获取访问令牌和刷新令牌不工作。 我使用自定义用户提供商,正确地设置在配置,我注意到如果我改变grant_typeclient_credentials它将只是工作,但没有刷新令牌,我想要什么。
在使用旧Spring的RestTemplate与OAuth授权背后的一些API集成时,我正在进行以下操作: 然后GET会说: 作为一种解决办法,我使用Mono.FromCallable(...)包装了旧的RestTempate。我还尝试使用WebClient做一些定制客户机,它接受令牌和授权用户,然后对RESTAPI做第二次调用。但它不是很好,因为令牌可以过期,我将不得不执行更新过程。OAuth中
我在下面设置Spring配置: 和Maven设置如下:
我使用spring-security-oauth2:2.3.3和spring-boot-starter-security:2.0.2构建了带有REST WS的Spring web app。但我无法设置哪些endpoint受到保护。 添加“--header”authorization:Basic{{base64 client id:password}}“也没有帮助。这怎么可能呢? 根据spring