首页 > 解决方案 > 如何有效地生成 OAuth 令牌

问题描述

我想从使用 OAuth 令牌通过 API 进行身份验证的应用程序中获取数据。

生成的 OAuth 令牌有效期为 30 天。之后我必须生成新的令牌。

目前,在发出每个请求之前,我正在为应用程序(内部项目)的每个请求生成 OAuth 令牌,如下所示

def generate_token
end

def get(path)
  generate_token
end

def fetch_customer_details
  get(path)
end

def fetch_employee_details
  get(path)
end

如何避免为每个请求生成令牌并在没有授权问题的情况下请求获取数据?

标签: ruby-on-railsoauthaccess-token

解决方案


您需要将令牌存储在请求之间的某处,并获取该值(而不是生成新令牌)。可能最好的方法是为此使用 Session:

def generate_token
  session[:oauth_token] = generate_your_actual_token
end

def get(path)
  session[:oauth_token] || generate_token
end

def fetch_customer_details
  get(path)
end

def fetch_employee_details
  get(path)
end

推荐阅读