Ruby on rails 我有一个Rails应用程序API,带有Doorkeeper OAuth2客户端凭据。如何在控制器内获取承载令牌信息?
我有一个Rails应用程序API,带有Doorkeeper OAuth2客户端凭据。我想获取控制器内的令牌信息,获取使用承载令牌的用户的uid,并向日志发送logger.info。征求你的建议/想法我不确定我是否正确理解了你的问题,但我会在这里尽力 设置门卫配置后,控制器中将提供一个名为的助手方法。 此方法返回一个Ruby on rails 我有一个Rails应用程序API,带有Doorkeeper OAuth2客户端凭据。如何在控制器内获取承载令牌信息?,ruby-on-rails,oauth-2.0,ruby-on-rails-5,doorkeeper,Ruby On Rails,Oauth 2.0,Ruby On Rails 5,Doorkeeper,我有一个Rails应用程序API,带有Doorkeeper OAuth2客户端凭据。我想获取控制器内的令牌信息,获取使用承载令牌的用户的uid,并向日志发送logger.info。征求你的建议/想法我不确定我是否正确理解了你的问题,但我会在这里尽力 设置门卫配置后,控制器中将提供一个名为的助手方法。 此方法返回一个Doorkeeper::AccessToken实例,并应具有适当的资源所有者和已颁发令牌的应用程序 如果您使用的是客户端凭据流,则您颁发的令牌将只包含应用程序\u id,而不包含资源\
Doorkeeper::AccessToken
实例,并应具有适当的资源所有者和已颁发令牌的应用程序
如果您使用的是客户端凭据流,则您颁发的令牌将只包含应用程序\u id
,而不包含资源\u所有者\u id
(因为资源所有者是您的用户)
要拥有资源所有者,必须由颁发者颁发令牌
至于日志,您的应用程序\u控制器(或您使用的任何基本控制器)中可以有一个before\u action
,它调用一个方法或一个进程来记录令牌信息:
before_action :log_token_info
def log_token_info
# log user name or whatever attribute you wish
# for the user id you can simply access the doorkeeper.resource_owner_id
logger.info "Token resource owner: #{doorkeeper.resource_owner.name}"
end
与令牌相关的应用程序也是如此