0

我需要使用 Authlib 连接到网站。我是这方面的新手,所以我研究了一些教程:.,所有它们都给出了以下结构:

  1. 创建app实例;
  2. 创建oauth实例,传递appOAuth构造函数;
  3. oauth在路由功能装饰器中使用。

这个结构在同一个文件中。问题是我需要oauth在与创建实例(上面的第 3 点)的文件不同的文件中使用该实例,但我不知道该怎么做。一些帮助是不必要的。

有用的代码:

__init__py

from authlib.integrations.flask_client import OAuth
app = Flask(__name__, template_folder="templates", static_folder="static")
app.config.from_object('config.Config')
oauth = OAuth(app)
oauth.register(name='Hattrick', client_id='...',
                       client_secret='...',
                       request_token_url='...',
                       request_token_params=None,
                       access_token_url='...',
                       access_token_params=None,
                       authorize_url='...', authorize_params=None,
                       api_base_url='...', client_kwargs=None)

/index/index_routes.py

@index_bp.route('/LoginToHattrick')
def LoginToHattrick():
    hattrick = oauth.create_client('Hattrick')
    return hattrick.authorize_redirect('...')
4

1 回答 1

0

oauth定义移动到索引路由

@index_bp.route('/LoginToHattrick')
def LoginToHattrick():
    oauth = OAuth(wsgi.app)
    oauth.register(name='Hattrick', client_id='...',
                       client_secret='...',
                       request_token_url='...',
                       request_token_params=None,
                       access_token_url='...',
                       access_token_params=None,
                       authorize_url='...', authorize_params=None,
                       api_base_url='...', client_kwargs=None)
    hattrick = oauth.create_client('Hattrick')
    return hattrick.authorize_redirect('...')
于 2020-04-11T08:21:07.047 回答