簡體   English   中英

我有一個帶有 Doorkeeper OAuth2 client_credentials 的 Rails APP API。 如何在控制器中獲取不記名令牌信息?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM