【问题标题】:How to generate OAuth token efficiently如何有效地生成 OAuth 令牌
【发布时间】:2019-07-12 12:52:56
【问题描述】:

我想从使用 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-rails oauth access-token


    【解决方案1】:

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

    【讨论】:

    • 令牌将在 30 天后过期。 30天到期后会生成token并使用吗?
    • 嗯...这是一个不同的问题...我还没有看到任何尝试实际生成 OAuth 令牌...这只是从会话中存储和获取它。会话本身仅在同一访问期间有效。因此,如果有人连续 30 天没有在您的网站上停留,您不必担心。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-16
    • 1970-01-01
    • 2022-09-28
    相关资源
    最近更新 更多