from flask import Flask, request, jsonify
from oauthlib.oauth2 import WebApplicationClient
app = Flask(__name__)
client_id = 'your_client_id'
client_secret = 'your_client_secret'
client = WebApplicationClient(client_id)
@app.route('/login')
def login():
authorization_url = client.prepare_request_uri(
'https://example.com/oauth/authorize',
redirect_uri='http://localhost:5000/callback',
scope=['profile', 'email']
)
return jsonify({'url': authorization_url})
@app.route('/callback')
def callback():
token = client.prepare_token_request(
'https://example.com/oauth/token',
authorization_response=request.url,
redirect_url='http://localhost:5000/callback',
code=request.args.get('code')
)
# Token exchange logic omitted for brevity
return jsonify({'status': 'success'})
if __name__ == '__main__':
app.run(debug=True)
]]>