| const REGEX_IS_INSTALLATION_LEGACY = /^v1\./; |
| const REGEX_IS_INSTALLATION = /^ghs_/; |
| const REGEX_IS_USER_TO_SERVER = /^ghu_/; |
| export async function auth(token) { |
| const isApp = token.split(/\./).length === 3; |
| const isInstallation = REGEX_IS_INSTALLATION_LEGACY.test(token) || |
| REGEX_IS_INSTALLATION.test(token); |
| const isUserToServer = REGEX_IS_USER_TO_SERVER.test(token); |
| const tokenType = isApp |
| ? "app" |
| : isInstallation |
| ? "installation" |
| : isUserToServer |
| ? "user-to-server" |
| : "oauth"; |
| return { |
| type: "token", |
| token: token, |
| tokenType, |
| }; |
| } |