Python authlib flask - วิธีการเพิกถอนโทเค็น / ออกจากระบบ

Oct 27 2020

ในสถานการณ์ปัจจุบันของฉันแอปขวดของฉันอาจเป็นแอปเดียวที่ใช้เซิร์ฟเวอร์ Oauth
ในกรณีนี้ฉันต้องการให้ปุ่มออกจากระบบของฉันเพิกถอนโทเค็นการเข้าถึงจริงๆ
แต่จะทำอย่างไรโดยใช้การรวมขวดอัตโนมัติ
ฉันต้องตั้งค่าใหม่OAuth2Sessionเพื่อใช้revoke_token()หรือไม่?
ฉันไม่คิดว่ามีสิ่งที่ซ่อนอยู่ข้างในFlaskRemoteApp?
และฉันไม่คิดว่ารีจิสทรีของขวดจะใช้เวลาrevoke_token_urlหรืออะไรแบบนั้น?

ยินดีให้คำแนะนำใด ๆ

คำตอบ

Alias_Knagg Nov 03 2020 at 20:57

โอเคนี่คือรหัสที่ใช้ได้สำหรับฉันโดยใช้รีจิสทรีของขวดที่มีอยู่

from authlib.integrations.requests_client import OAuth2Session
client = OAuth2Session(oauth.myOauth.client_id,
                       oauth.myOauth.client_secret,
                       scope=oauth.myOauth.client_kwargs['scope'])

client.revoke_token(app.config['OASERVER'] + '/oauth2/revoke',
                    token=session['oatoken']['access_token'])