如何动态获取NGINX代理的API访问令牌

问题描述

我开始使用iOS应用程序的IGDB API。几天前,IGDB推出了V4,该V4现在需要通过oAuth2向Twitch进行授权才能接收应用访问令牌。

凭借对后端的了解(我昨天刚开始学习NGINX),我设法建立了一个NGINX Web服务器,该服务器代理对IGDB API的请求,并将应用程序访问令牌注入HTTP标头。目前,此功能正常。

nginx.conf中包含的我的proxy.conf看起来像这样:

server {
    listen 443 ssl;
    server_name myhost.com;

    #SSL Config cut out  
    ...

    location / {
        proxy_pass https://api.igdb.com/v4/games;
        proxy_ssl_server_name on;
        proxy_set_header Client-ID "MY TWITCH APP CLIENT ID";
        proxy_set_header Authorization "Bearer THE_APP_ACCESS_TOKEN";
    }
}

但是我手动请求了THE_APP_ACCESS_TOKEN。出于测试目的,这很好,但是它将在约60天后过期(根据Twitch开发文档)。我现在想知道如何动态地请求访问令牌(并以某种方式存储它?),在令牌过期时刷新它并将其注入proxy.conf。

在进行研究时,我偶然发现HTTP Auth Request模块与NGINX JavaScript模块(https://www.nginx.com/blog/validating-oauth-2-0-access-tokens-nginx/)相结合。

现在,我想知道在代理请求之前通过Auth Request Module触发令牌请求,使用JavaScript模块解析JSON响应并将响应中包含的应用访问令牌作为变量注入到javascript中是否是一种合理的方法。代理的HTTP标头。尽管从理论上讲这对我来说听起来不错,但我几乎不知道如何实现这一点。而且,这种方法还不包括令牌过期后立即存储和更新。

您对我有什么提示,如何解决?还是有其他解决方案?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)