MCPcopy Create free account
hub / github.com/Tong89/smartNode / auth_refresh

Function auth_refresh

backend/api.py:1532–1545  ·  view source on GitHub ↗

用 refresh token 换取新的 access token。

()

Source from the content-addressed store, hash-verified

1530
1531@app.route('/api/auth/refresh', methods=['POST'])
1532def auth_refresh():
1533 """用 refresh token 换取新的 access token。"""
1534 data = request.get_json(silent=True) or {}
1535 token = data.get('refresh_token')
1536 try:
1537 claims = decode_token(token) if token else None
1538 if not claims or claims.get('type') != 'refresh':
1539 raise ValueError("not a refresh token")
1540 except (_jwt.PyJWTError, ValueError):
1541 return error_response("UNAUTHORIZED", "刷新令牌无效或已过期")
1542 return jsonify({
1543 'token_type': 'Bearer',
1544 'access_token': create_access_token(claims.get('sub'), claims.get('role', 'viewer')),
1545 })
1546
1547
1548# 角色 -> 权限映射(RBAC 由后续 PR 进一步细化与强制)

Callers

nothing calls this directly

Calls 4

decode_tokenFunction · 0.90
error_responseFunction · 0.90
create_access_tokenFunction · 0.90
getMethod · 0.45

Tested by

no test coverage detected