-
Notifications
You must be signed in to change notification settings - Fork 0
/
auth.js
34 lines (29 loc) · 1.16 KB
/
auth.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import { Octokit } from "https://cdn.skypack.dev/octokit?dts";
import { createOAuthDeviceAuth } from "https://cdn.skypack.dev/@octokit/auth-oauth-device?dts";
export default async function(clientId) {
const octokit = new Octokit({
authStrategy: createOAuthDeviceAuth,
auth: {
clientType: "oauth-app",
clientId: clientId || Deno.env.get('GITHUB_CLIENT_ID'),
scopes: ["repo"],
async onVerification (verification) {
// verification example
// {
// device_code: "3584d83530557fdd1f46af8289938c8ef79f9dc5",
// user_code: "WDJB-MJHT",
// verification_uri: "https://github.com/login/device",
// expires_in: 900,
// interval: 5,
// };
console.log("Open %s", verification.verification_uri);
console.log("Enter code: %s", verification.user_code);
},
},
});
const {
data: { login },
} = await octokit.rest.users.getAuthenticated();
console.log("Hello, %s", login);
return octokit;
}