MCPcopy Create free account
hub / github.com/arctic-cli/interface / persistAuthResult

Function persistAuthResult

packages/arctic/src/cli/cmd/auth.ts:137–173  ·  view source on GitHub ↗
(result: Awaited<ReturnType<typeof authorize.callback>>)

Source from the content-addressed store, hash-verified

135 const authorize = await method.authorize(inputs)
136
137 const persistAuthResult = async (result: Awaited<ReturnType<typeof authorize.callback>>) => {
138 if (!result || result.type !== "success") return
139 const saveProvider = result.provider ?? provider
140
141 let authInfo: Auth.Info
142 if ("refresh" in result) {
143 if ("idToken" in result && result.idToken) {
144 authInfo = {
145 type: "codex",
146 accessToken: result.access,
147 refreshToken: result.refresh,
148 expiresAt: result.expires,
149 idToken: result.idToken,
150 accountId: result.accountId,
151 email: result.email,
152 planType: result.planType,
153 }
154 } else {
155 authInfo = {
156 type: "oauth",
157 refresh: result.refresh,
158 access: result.access,
159 expires: result.expires,
160 }
161 }
162 } else if ("key" in result) {
163 authInfo = {
164 type: "api",
165 key: result.key,
166 }
167 } else {
168 return
169 }
170
171 const authKey = check.connectionName ? Auth.formatKey(saveProvider, check.connectionName) : saveProvider
172 await Auth.set(authKey, authInfo)
173 }
174
175 if (authorize.url) {
176 // Use console.log directly because @clack/prompts strips escape sequences

Callers 1

handlePluginAuthFunction · 0.85

Calls 1

setMethod · 0.45

Tested by

no test coverage detected