close
    
  1. 申請YDN的使用權限帳密,假設我們的endpoint為/xxx.jsp
  2. 
  3. 產生連結到Yahoo的URL
  4. 
  5. 產生原則為,https://api.login.yahoo.com/WSLogin/V1/wslogin?appid=帳號&appdata=攜帶資料&send_userhash=1&ts=系統秒數&sig=簽名碼
    說明:send_userhash=1代表要求yahoo回傳一個獨特不重複的userhash給我們,此參數可省略,
    sig簽名碼產生規則:使用MD5編碼下列字串,/WSLogin/V1/wslogin?appid=帳號&appdata=攜帶資料&send_userhash=1&ts= 系統秒數+密碼
    若是不回傳userhash,則簽名碼的&send_userhash=1也不需加入
  6. 
  7. 讓使用者Link到我們產生出來的Yahoo URL
  8. 
  9. 使用者自行到yahoo認證,並且按確認,Yahoo將會把控制權交回,回傳帶有參數的QueryString給我們程式,有ts,userhash(有設定send_userhash=1才有),appdata,sig,token
    範例:http://com.tw/xxx.jsp?appid=由Yahoo回傳&token=由Yahoo回傳&appdata=由 Yahoo回傳&userhash=由Yahoo回傳&ts=由Yahoo回傳&sig=由Yahoo回傳
  10. 
  11. 驗證yahoo回傳的簽名碼
    sig簽名碼的長度必須為32
    ts減去現在系統秒數必須小於600秒
    產生的驗證簽名碼,使用MD5編碼下列字串,/xxx.jsp?appid=由Yahoo回傳&token=由Yahoo回傳&appdata=由Yahoo回傳&userhash=由Yahoo回傳&ts=現在系統秒數+密碼
  12. 
  13. 如果驗證sig碼與Yahoo回傳的sig相同,代表此次的BBAuth成功,大功告成
  14. 


 


<?php//PHP產生認證LINK範例$appid = 'id';$secret = 'pw';$ts = time();$str='/WSLogin/V1/wslogin?appid='.$appid.'&appdata=&send_userhash=1&ts='.$ts;$sig = md5($str.$secret);$url = 'https://api.login.yahoo.com/WSLogin/V1/wslogin?appid='.$appid.'&appdata=&send_userhash=1&ts='.$ts.'&sig='.$sig;echo $url;?>
arrow
arrow
    全站熱搜

    gan068 發表在 痞客邦 留言(1) 人氣()