Single Sign On
大家好,本來我以為會很順的把整個 Plurk 姬寫完,結果沒有
後來因為個人因素的關係,整個有點忙碌XD
最近因為工作因素而要研究 Single Sign On ,就來作點筆記
因為這個不是新的議題了,那我們既然有巨人的肩膀可以站,就來站巨人肩膀,不從無到由自己建造架構了XD
其實有時間的話我很喜歡從無到有自行研究,雖然可能浪費時間,但總是能學到很多東西!
那這次因為有時程壓力,就來借下巨人的肩膀
我們都知道,不管 Facebook、Google、Yahoo甚至 Twitter 都有提供透過 OAuth 驗證並呼叫提供的 API 的功能,在我們的噗浪姬裡也有介紹透過 OAuth 呼叫 Plurk API ,並取得使用者相關資訊的程式,那 Single Sign On 指的就是一個網站可以透過這些第三方平台的帳號進行登入,而不需要使用者從零到有自行註冊自己的帳號。
那這次我使用的巨人是 hybridauth ,透過他本身提供的函式庫就能進行 Single Sign On。
首先我們要使用 OAuth ,就需要先去相關平台取得 App ID 及 App Secret 。
Google 是需透過 Google Developers Console 來建構 Project ,並建立用戶端 ID 及填寫正確的同意畫面資訊,就能透過呼叫並使用 Single Sign On
而 Facebook 則需先成為開發者帳號,這邊會需要手機的認證,認證完後到他的 App Developers 頁面點選上面的 Apps ,並 Create a New App ,填寫相對應的資訊後,最後在 Status & Review 將它啟用,就能透過他提供的 App ID 及 App Secret 呼叫 API 了!
然後將抓下來的 hybridauth 解壓縮到你的 web 目錄下,並執行 hybridauth 目錄中的 install.php ,就能快速設定它的 config 當,透過設定的 config 檔就可以透過這個 library 呼叫 AOL, Facebook, Foursquare, Google, LinkedIn, Live, MySpace, OpenID, Twitter & Yahoo 的 API,不過要能呼叫就要先有作設定。而目前我需要的只有讀取 Google 及 Facebook ,所以亦即只有設定這兩個的 App ID & App Secret。
當設定完成後,就能執行他提供的範例程式,他裡面有一個 signin_signup 的範例,就是我需要的 Single Sign On 的範例程式,他透過 mysql 資料庫儲存使用者資料,並提供帳號登入驗證並儲存進資料庫。
他在 mysql 中會建立兩個資料表, users & authentications 兩張資料表,前者是是供一般用戶註冊登入使用,後者則是記錄他的驗證登入,其中他們兩張的主要關聯是透過 mail ,所以曾用 facebook 註冊,但相同 mail 的 google 帳戶就無法透過程式登入,當然這塊可以自行控制改寫。
這個程式大致上就介紹到此,感謝各位的觀賞,之後有機會我會詳細介紹幾個我有使用到的平台如何取得 App ID 及 App Secret 的!
Reference:
Hybridauth: http://hybridauth.sourceforge.net/
Google Developers Console: https://console.developers.google.com/
Facebook Developer: https://console.developers.google.com/
後來因為個人因素的關係,整個有點忙碌XD
最近因為工作因素而要研究 Single Sign On ,就來作點筆記
因為這個不是新的議題了,那我們既然有巨人的肩膀可以站,就來站巨人肩膀,不從無到由自己建造架構了XD
其實有時間的話我很喜歡從無到有自行研究,雖然可能浪費時間,但總是能學到很多東西!
那這次因為有時程壓力,就來借下巨人的肩膀
我們都知道,不管 Facebook、Google、Yahoo甚至 Twitter 都有提供透過 OAuth 驗證並呼叫提供的 API 的功能,在我們的噗浪姬裡也有介紹透過 OAuth 呼叫 Plurk API ,並取得使用者相關資訊的程式,那 Single Sign On 指的就是一個網站可以透過這些第三方平台的帳號進行登入,而不需要使用者從零到有自行註冊自己的帳號。
那這次我使用的巨人是 hybridauth ,透過他本身提供的函式庫就能進行 Single Sign On。
首先我們要使用 OAuth ,就需要先去相關平台取得 App ID 及 App Secret 。
Google 是需透過 Google Developers Console 來建構 Project ,並建立用戶端 ID 及填寫正確的同意畫面資訊,就能透過呼叫並使用 Single Sign On
而 Facebook 則需先成為開發者帳號,這邊會需要手機的認證,認證完後到他的 App Developers 頁面點選上面的 Apps ,並 Create a New App ,填寫相對應的資訊後,最後在 Status & Review 將它啟用,就能透過他提供的 App ID 及 App Secret 呼叫 API 了!
然後將抓下來的 hybridauth 解壓縮到你的 web 目錄下,並執行 hybridauth 目錄中的 install.php ,就能快速設定它的 config 當,透過設定的 config 檔就可以透過這個 library 呼叫 AOL, Facebook, Foursquare, Google, LinkedIn, Live, MySpace, OpenID, Twitter & Yahoo 的 API,不過要能呼叫就要先有作設定。而目前我需要的只有讀取 Google 及 Facebook ,所以亦即只有設定這兩個的 App ID & App Secret。
當設定完成後,就能執行他提供的範例程式,他裡面有一個 signin_signup 的範例,就是我需要的 Single Sign On 的範例程式,他透過 mysql 資料庫儲存使用者資料,並提供帳號登入驗證並儲存進資料庫。
他在 mysql 中會建立兩個資料表, users & authentications 兩張資料表,前者是是供一般用戶註冊登入使用,後者則是記錄他的驗證登入,其中他們兩張的主要關聯是透過 mail ,所以曾用 facebook 註冊,但相同 mail 的 google 帳戶就無法透過程式登入,當然這塊可以自行控制改寫。
這個程式大致上就介紹到此,感謝各位的觀賞,之後有機會我會詳細介紹幾個我有使用到的平台如何取得 App ID 及 App Secret 的!
Reference:
Hybridauth: http://hybridauth.sourceforge.net/
Google Developers Console: https://console.developers.google.com/
Facebook Developer: https://console.developers.google.com/
謝謝分享
回覆刪除