[英]I have an Rails APP API with Doorkeeper OAuth2 client_credentials. How to get bearer token information within the controller?
我有一個帶有 Doorkeeper OAuth2 client_credentials 的 Rails APP API。 我想獲取控制器中的令牌信息,並獲取使用了不記名令牌的用戶的 uid,並將 logger.info 發送到日志。 尋求您的建議/想法
我不確定我是否正確理解了您的問題,但我會在這里盡力而為。
一旦您設置了 doorkeeper 配置,一個名為doorkeeper_token
的輔助方法將在您的控制器中可用。 此方法返回一個Doorkeeper::AccessToken
實例,並且應該具有適當的資源所有者和已頒發令牌的應用程序。
如果您使用客戶端憑據流,您頒發的令牌將只包含application_id
而沒有resource_owner_id
(因為資源所有者是您的用戶)。
要擁有資源所有者,必須由資源所有者密碼憑據流頒發令牌。
至於日志,您可以在 application_controller(或您使用的任何基本控制器)中有一個before_action
來調用方法或只是一個 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
與令牌相關的應用程序也是如此
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.