gpt4 book ai didi

ruby - Oauth2 与门卫的无效授予

转载 作者:行者123 更新时间:2023-12-05 08:00:37 26 4
gpt4 key购买 nike

当我尝试从我的 api 获取资源时,我得到了无效授权。

invalid_grant:提供的授权授予无效、过期、已撤销、与授权请求中使用的重定向 URI 不匹配,或者已颁发给另一个客户端。

可能是什么问题?

  require 'sinatra'
require 'httparty'
require 'oauth2'

enable :sessions

configure do
set :callback, 'http://localhost:4567/auth/doorkeeper/callback'
set :app_id, '7cd423ef68bdc938372d8e290475ea5a85feb550004b77481f99ff0dcba133b1'
set :app_secret, '46bafd07b5a485240d7fdaedbdbac2a675afabe470f5433b13395f8dcff4e473'
end

get '/' do
oauth_client.auth_code.authorize_url(redirect_uri: settings.callback)
end

get '/auth/doorkeeper/callback' do
if params[:code].nil?
redirect to('/')
end

session[:code] = params[:code]

redirect to('/get_token')
end

get '/get_token' do
access = oauth_client.auth_code.get_token session[:code], :redirect_uri => settings.callback
# session[:code]
access.get('/api/v1/me')
end

def oauth_client
@oauth_client ||= OAuth2::Client.new(settings.app_id, settings.app_secret, site: "http://localhost:3000")
end

最佳答案

如果授权已经第一次生效,突然出现错误,这只是意味着 token 已过期或已撤销。

当您之前收到一个有效的 token 并且错误再次出现时,只需转到您的 Documents 文件夹,删除 .credentials 文件夹(您以前的 token 所在的文件夹),然后再次运行应用程序以接收新的 token 。

关于ruby - Oauth2 与门卫的无效授予,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17974469/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com