MCPcopy Create free account
hub / github.com/ZyphrZero/z.ai2api_python / get_auth_info

Method get_auth_info

app/core/upstream.py:1125–1178  ·  view source on GitHub ↗

优先获取认证 Token,必要时回退匿名会话池。

(
        self,
        excluded_tokens: Optional[Set[str]] = None,
        excluded_guest_user_ids: Optional[Set[str]] = None,
    )

Source from the content-addressed store, hash-verified

1123 }
1124
1125 async def get_auth_info(
1126 self,
1127 excluded_tokens: Optional[Set[str]] = None,
1128 excluded_guest_user_ids: Optional[Set[str]] = None,
1129 ) -> Dict[str, Any]:
1130 """优先获取认证 Token,必要时回退匿名会话池。"""
1131 token_pool = get_token_pool()
1132 if token_pool:
1133 token = token_pool.get_next_token(exclude_tokens=excluded_tokens)
1134 if token:
1135 user_id = _extract_user_id_from_token(token)
1136 self.logger.debug(f"从认证号池获取令牌: {token[:20]}...")
1137 return {
1138 "token": token,
1139 "user_id": user_id,
1140 "username": "User",
1141 "auth_mode": "authenticated",
1142 "token_source": "auth_pool",
1143 "guest_user_id": None,
1144 }
1145
1146 if settings.ANONYMOUS_MODE:
1147 guest_pool = get_guest_session_pool()
1148 if guest_pool:
1149 try:
1150 session = await guest_pool.acquire(
1151 exclude_user_ids=excluded_guest_user_ids
1152 )
1153 self.logger.info(
1154 "🫥 认证池不可用,回退匿名会话池: "
1155 f"user_id={session.user_id}"
1156 )
1157 return {
1158 "token": session.token,
1159 "user_id": session.user_id,
1160 "username": session.username,
1161 "auth_mode": "guest",
1162 "token_source": "guest_pool",
1163 "guest_user_id": session.user_id,
1164 }
1165 except Exception as exc:
1166 self.logger.warning(f"匿名会话池获取失败,转为直连访客鉴权: {exc}")
1167
1168 return await self._fetch_direct_guest_auth()
1169
1170 self.logger.error("❌ 无法获取有效的上游令牌")
1171 return {
1172 "token": "",
1173 "user_id": "",
1174 "username": "",
1175 "auth_mode": "authenticated",
1176 "token_source": "none",
1177 "guest_user_id": None,
1178 }
1179
1180 async def mark_token_failure(self, token: str, error: Exception = None):
1181 """标记token使用失败"""

Callers 2

transform_requestMethod · 0.95
fake_transform_requestFunction · 0.80

Calls 6

get_token_poolFunction · 0.90
get_guest_session_poolFunction · 0.90
acquireMethod · 0.80
get_next_tokenMethod · 0.45

Tested by 1

fake_transform_requestFunction · 0.64