from flask import Flask, jsonify
import jwt
import datetime
import os
app = Flask(__name__)
SECRET_KEY = os.environ.get('JWT_SECRET', 'your-secret-key-here')
@app.route('/token', methods=['GET'])
def get_token():
payload = {
'user': 'sql-cli-user',
'exp': datetime.datetime.utcnow() + datetime.timedelta(minutes=15),
'iat': datetime.datetime.utcnow(),
'permissions': ['read', 'write', 'execute']
}
token = jwt.encode(payload, SECRET_KEY, algorithm='HS256')
return jsonify({
'token': token,
'expires_in': 900, 'type': 'Bearer'
})
@app.route('/token/complex', methods=['GET'])
def get_token_complex():
payload = {
'user': 'sql-cli-user',
'exp': datetime.datetime.utcnow() + datetime.timedelta(minutes=15),
'iat': datetime.datetime.utcnow(),
}
token = jwt.encode(payload, SECRET_KEY, algorithm='HS256')
return jsonify({
'status': 'success',
'data': {
'access_token': token,
'refresh_token': 'not-implemented',
'expires_in': 900
}
})
@app.route('/health', methods=['GET'])
def health():
return jsonify({'status': 'healthy'})
if __name__ == '__main__':
app.run(debug=True, port=5000)