diff --git a/Sources/Services/Feishu/FeishuAuthService.swift b/Sources/Services/Feishu/FeishuAuthService.swift index 8a6aa57..ff45cd4 100644 --- a/Sources/Services/Feishu/FeishuAuthService.swift +++ b/Sources/Services/Feishu/FeishuAuthService.swift @@ -42,19 +42,20 @@ final class FeishuAuthService { } func exchangeCode(_ code: String) async throws -> OAuthTokenData { - BuggerLog.info("Exchanging auth code (len=\(code.count)) for user token...") + BuggerLog.info("exchangeCode: start, code len=\(code.count)") let tenantToken = try await tenantAccessToken() + BuggerLog.info("exchangeCode: got tenant token, building request...") let url = URL(string: "\(baseURL)/authen/v1/oidc/access_token")! var request = URLRequest(url: url) request.httpMethod = "POST" request.setValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type") request.setValue("Bearer \(tenantToken)", forHTTPHeaderField: "Authorization") - request.httpBody = try JSONEncoder().encode([ - "grant_type": "authorization_code", - "code": code, - ] as [String: String]) + BuggerLog.info("exchangeCode: encoding body...") + let body: [String: String] = ["grant_type": "authorization_code", "code": code] + request.httpBody = try JSONEncoder().encode(body) + BuggerLog.info("exchangeCode: body encoded (\(request.httpBody?.count ?? 0)B), sending...") let tokenData: OAuthTokenData = try await send(request) - BuggerLog.info("Got token: access=\(tokenData.accessToken.prefix(8))..., refresh=\(tokenData.refreshToken?.prefix(8) ?? "nil")..., expires=\(tokenData.expiresIn)") + BuggerLog.info("exchangeCode: got token access=\(tokenData.accessToken.prefix(8))... refresh=\(tokenData.refreshToken?.prefix(8) ?? "nil")...") return tokenData }