ruby-on-rails - 我有一个带有 Doorkeeper OAuth2 client_credentials 的 Rails APP API。如何在控制器内获取不记名令牌信息?
问题描述
我有一个带有 Doorkeeper OAuth2 client_credentials 的 Rails APP API。我想在控制器中获取令牌信息并获取使用不记名令牌的用户的 uid 并将 logger.info 发送到日志。寻求您的建议/想法
解决方案
我不确定我是否正确理解了您的问题,但我会在这里尽力而为。
设置门卫配置doorkeeper_token
后,控制器中将提供一个调用的辅助方法。此方法返回一个Doorkeeper::AccessToken
实例,并且应该具有适当的资源所有者和已发行令牌的应用程序。
如果您使用的是客户端凭证流,您颁发的令牌将只包含一个application_id
但不包含resource_owner_id
(因为资源所有者是您的用户)。
要拥有资源所有者,必须由资源所有者密码凭证流颁发令牌。
至于日志,您可以before_action
在 application_controller(或您使用的任何基本控制器)中有一个调用方法或简单的 proc 来记录令牌信息:
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
与令牌相关的应用程序也是如此
推荐阅读
- azure - 如何使用 Azure 逻辑应用操作在浏览器中下载文件
- c# - Visual Studio NUnit 适配器一次只能运行 10K 测试
- javascript - ENOENT:没有这样的文件或目录,取消链接
- php - 允许的内存大小已用尽 - 内存泄漏在哪里?
- sql - 如何在组合框中显示列表外的项目?
- excel - 是否可以使用 VBA 使条件格式框变大?如果有怎么办?
- ios - 具有大量数据 Swift 的 CollectionView
- lorenz-system - Python Nolds:如何为 Lorenz 系统获得适当的值
- python - 如何使用 append 在 Python 中的循环中存储值
- wordpress - svg href 破碎的图像 wordpress elementor