7

OpenID 2 に対する Google のサポートの終了が迫っているため、Flask-Googleauth のような便利なライブラリを使用している人は移行する必要があります。Flask -oidcと呼ばれる OpenID Connect 用の Flask ライブラリがあります。残念ながら、それを使用する方法に関する情報はないようです。flaskとのタグが付いた SO の質問を探しましopenid-connectたが、見つからなかったので、この質問です。

ここに、flask-oidc の概念実証の使用法としてまとめたものを示します。これは、 flask-oidc の app.py ファイルに基づいています。

"""
Flask app for testing the OpenID Connect extension.
"""
from flask import Flask
from flask.ext.oidc import OpenIDConnect

def index():
    return "too many secrets", 200, {
        'Content-Type': 'text/plain; charset=utf-8'
    }

def create_app(config, oidc_overrides=None):
    app = Flask(__name__)
    app.config.update(config)
    if oidc_overrides is None:
        oidc_overrides = {}
    oidc = OpenIDConnect(app, **oidc_overrides)
    app.route('/')(oidc.check(index))
    return app

if __name__ == '__main__':
    APP = create_app({
        'OIDC_CLIENT_SECRETS': './client_secrets.json',
        'SECRET_KEY': 'secret'})
    APP.run(host="127.0.0.1", port=8080, debug=True)

ここで説明したようにアプリケーションを登録した後、認証のためにユーザーを Google に正常に送信し、ユーザーを に戻し、ユーザーをhttp://127.0.0.1:8080/oidc_callbackにリダイレクトhttps://127.0.0.1:8080/しますが、認証のためにユーザーを Google にリダイレクトし、リダイレクト ループを作成します。

もちろん、私の質問は簡単です。認証されたユーザーにそのインデックス ページを表示させるにはどうすればよいでしょうか?

4

1 に答える 1