basic、gisttoken、oauth。

 let u='gnjo',p='XXXXXXXXX'
 ,basic=`basic ${btoa(u+":"+p)}`
 ,gisttoken=`token a04f631c476b4b54e131XXXXXXXXXXXXXXXXXXX`
 ,oauth2=`bearer df6322210478ec2b91fb5XXXXXXXXXXXXXXXXXXX` 
 //getist token is https://github.com/settings/tokens
 //quick oauth2 is https://oauth.io/
 ; 

...
 ,opt={headers:{'authorization':authstr}}

oauthは特にアクセスするサイトも制限される、その分信頼性は高くなる。

oauthの認証フローは https://oauth.io/ を使うとoauth.ioに委ねることができ、chrome:extensionでも可能となる。

全部 

認証し、ユーザ情報を取得する。

<button onclick="a()">user</button>
<pre></pre>
let fn={}
fn.q=(d=>document.querySelector(d))
fn.jsy=(d=>JSON.stringify(d,null,2))
;
function user(authstr){
 let url='https://api.github.com/user'
 ,opt={headers:{'authorization':authstr}}
 ;
 return fetch(url,opt).then(d=>d.json())
}
;
function a(){
 let u='gnjo',p='XXXXXXXX'
 ,basic=`basic ${btoa(u+":"+p)}`
 ,gisttoken=`token a04f631c476b4b54e131XXXXXXXXXXXXXXXXXXX`
 ,oauth2=`bearer df6322210478ec2b91fb5XXXXXXXXXXXXXXXXXXX` 
 //getgist token is https://github.com/settings/tokens
 //quick oauth2 is https://oauth.io/
 ;
 let draw=(d=>{fn.q('pre').innerHTML=fn.jsy(d);return d})
 ,log=(d)=>{console.log(d);return d}
 ;
 user(basic).then(log).then(draw)
 //user(gisttoken).then(log).then(draw)
 //user(oauth2).then(log).then(draw)
}
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.