@@ -11,7 +11,7 @@ const getAuthUrl = (base, callbackUrl, scope) => {
1111 client_id,
1212 client_secret,
1313redirect_uri :callbackUrl ,
14- scope :scope
14+ scope :scope ,
1515} ;
1616
1717return `${ base } ?${ queryString . stringify ( obj ) } ` ;
@@ -21,72 +21,80 @@ function getTokenFromCode(code) {
2121let obj = {
2222 client_id,
2323 client_secret,
24- code
24+ code,
2525} ;
2626
27- return fetch ( `${ githubTokenUrl } ?${ queryString . stringify ( obj ) } ` )
28- . then ( ( res ) => res . text ( ) , ( ) => {
29- throw new Error ( "Failed to get access_token" ) ;
30- } ) ;
27+ return fetch ( `${ githubTokenUrl } ?${ queryString . stringify ( obj ) } ` ) . then (
28+ ( res ) => res . text ( ) ,
29+ ( ) => {
30+ throw new Error ( "Failed to get access_token" ) ;
31+ }
32+ ) ;
3133}
3234
3335function getToken ( url , interactive ) {
3436return new Promise ( function ( resolve , reject ) {
3537// Opens a window to initiate GitHub OAuth, fires callback
3638// with token in the URL.
37- chrome . identity . launchWebAuthFlow ( {
38- url,
39- interactive
40- } , function ( redirectURL ) {
41- if ( chrome . runtime . lastError ) {
42- reject ( chrome . runtime . lastError ) ;
43- return ;
44- }
39+ chrome . identity . launchWebAuthFlow (
40+ {
41+ url,
42+ interactive,
43+ } ,
44+ function ( redirectURL ) {
45+ if ( chrome . runtime . lastError ) {
46+ reject ( chrome . runtime . lastError ) ;
47+ return ;
48+ }
4549
46- // Upon success the response is appended to redirectUri, e.g.
47- // https://{app_id}.chromiumapp.org/provider_cb#access_token={value}
48- // &refresh_token={value}
49- // or:
50- // https://{app_id}.chromiumapp.org/provider_cb#code={value}
51- let query = queryString . extract ( redirectURL ) ;
52- if ( query ) {
53- let obj = queryString . parse ( query ) ;
50+ // Upon success the response is appended to redirectUri, e.g.
51+ // https://{app_id}.chromiumapp.org/provider_cb#access_token={value}
52+ // &refresh_token={value}
53+ // or:
54+ // https://{app_id}.chromiumapp.org/provider_cb#code={value}
55+ let query = queryString . extract ( redirectURL ) ;
56+ if ( query ) {
57+ let obj = queryString . parse ( query ) ;
5458
55- if ( obj . access_token ) {
56- resolve ( obj . access_token ) ;
57- } else if ( obj . code ) {
58- getTokenFromCode ( obj . code )
59- . then ( ( res ) => {
60- let resObj = queryString . parse ( res ) ;
61- let access_token = resObj . access_token ;
62- resolve ( access_token ) ;
63- } ) ;
59+ if ( obj . access_token ) {
60+ resolve ( obj . access_token ) ;
61+ } else if ( obj . code ) {
62+ getTokenFromCode ( obj . code ) . then ( ( res ) => {
63+ let resObj = queryString . parse ( res ) ;
64+ let access_token = resObj . access_token ;
65+ resolve ( access_token ) ;
66+ } ) ;
67+ } else {
68+ reject ( new Error ( "neither access_token nor code available" ) ) ;
69+ }
6470} else {
65- reject ( new Error ( "neither access_token nor code available ") ) ;
71+ reject ( new Error ( "Invalid redirect URI ") ) ;
6672}
67- } else {
68- reject ( new Error ( "Invalid redirect URI" ) ) ;
6973}
70- } ) ;
74+ ) ;
7175} ) ;
7276}
7377
7478function getTokenFromOauth ( ) {
75- getSyncStorage ( { "access_token" :null } )
76- . then ( ( res ) => {
79+ getSyncStorage ( { access_token :null } ) . then ( ( res ) => {
7780if ( ! res . access_token ) {
7881const url = getAuthUrl ( githubBaseUrl , redirectUri , "public_repo" ) ;
79- getToken ( url , true )
80- . then ( ( token ) => {
81- setSyncStorage ( { "access_token" :token } ) ;
82- const accessTokenInput = document . getElementById ( "token-input" ) ;
83- accessTokenInput . value = token ;
84- document . querySelector ( "#feedback" ) . textContent = "Access Token Set!" ;
85- } , ( message ) => {
86- document . querySelector ( "#feedback" ) . textContent = message ;
87- } ) ;
82+ getToken ( url , true ) . then (
83+ ( token ) => {
84+ setSyncStorage ( { access_token :token } ) ;
85+ const accessTokenInput = document . getElementById ( "token-input" ) ;
86+ accessTokenInput . value = token ;
87+ document . querySelector ( "#feedback" ) . textContent = "Access Token Set!" ;
88+ } ,
89+ ( message ) => {
90+ document . querySelector ( "#feedback" ) . textContent = message . message
91+ ?`Error:${ message . message } `
92+ :message ;
93+ }
94+ ) ;
8895} else {
89- document . querySelector ( "#feedback" ) . textContent = "Access Token Already Set!" ;
96+ document . querySelector ( "#feedback" ) . textContent =
97+ "Access Token Already Set!" ;
9098}
9199} ) ;
92100}