EAS Device Login
$ eas login --device --non-interactive
Open https://expo.dev/oauth/device?user_code=ABCD-EFGH
Code: ABCD-EFGH
Ask the user to approve the login and send you the number shown in their browser.
After they reply, run: eas login --device --non-interactive --resume 9e5c60f6-5abd-4677-be38-253b42b779ba --match NUMBER_FROM_USER
$ eas login --device --non-interactive --resume 9e5c60f6-5abd-4677-be38-253b42b779ba --match 61
Logged in as elioth
Lots of my work at Expo is focused around making our products easier to use for AI Agents. And as companies have started to give agents their own computer (see Tuft, Grok Bot, Dot, etc.) we wanted to build a way for agents to log in that didn't require the user to awkwardly paste a localhost login URL back into the thread.
The solution, after some research, was to use our existing device login flow. Agents run a command once and get a login URL they can send to the user. The user is then shown a number, which they forward back to the agent, which completes the login. Having the two steps is better for agents, since the user will already need to send "done!" or something, and it also helps to prevent social engineering attacks where users just blindly click approve.