ruby-on-rails - 如何有效地生成 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
如何避免为每个请求生成令牌并在没有授权问题的情况下请求获取数据?
解决方案
您需要将令牌存储在请求之间的某处,并获取该值(而不是生成新令牌)。可能最好的方法是为此使用 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
推荐阅读
- sql - 从两个连接表中仅选择一个结果字段
- rest - PUT 请求与 Angular 一起使用,但与 Postman/Insomnia 一起返回 401
- javascript - Plotly 仪表动态
- r - 在点上使用 dplyr::recode
- javascript - 改变状态和重定向
- postgresql - 如果我已经使用 GIN 索引,如何优化查询
- javascript - 状态更新后 React useEffect 不会重新加载我的组件
- c++ - Rcpp 函数在打包时会导致 RStudio 崩溃
- c# - Linq过滤子类并返回父类?
- ibm-cloud - 无法在 bluemix 上为 cloudant db 创建凭证