2017 May 29 ~ June 4【泰國 素叻他尼 Surat Thani Thailand 🌊⛵️✈️👭】Ratchaprapa Dam, Koh Samui, Khao Sok National Park

圖片
My first trip to Surat Thani Thailand!

Ratchaprapa Dam is located in South Thailand and I highly recommend it as a destination if you are nature-loving traveller and considering traveling in Thailand.
We had wonderful two night stay at Keree Warin Resort which was a raft house accommodation on the lake. This lake is big, as I think it took around 30 minutes of travel by long tail boat to reach our resort.
We spent our time enjoying the breath-takingly beautiful views, swimming and canoeing around the vicinity of the raft house.It's really a great place to relax and have some quiet time in beautiful surrounding.


















Integrating OpenID & Clickpass Authentication in your Rails Application

OpenID is a service, framework, and protocol that is revolutionizing the realm of user authentication and identity services. Started in 2004 by Brad Fitzpatrick, OpenID is now a mature framework supported by major Internet organizations such as AOL, Google, IBM, Microsoft, VeriSign, and Yahoo. It offers a distributed, reliable, and open way for web sites to authenticate their users and saves web developers from the need to write yet another piece of authentication code.

要在每個使用過的網站建立新的帳號,感到疲累嗎?您總是避免上新網站,是否因為每個網站都要求您建立帳號和密碼? 您是否在電腦螢幕旁貼了一堆密碼提示?

OpenID 是一種開放技術標準,可解決所有這類問題。透過 OpenID 技術,您可以使用您的 OpenID 帳號隨意在不同的網站上登入或註冊!

在實作這個功能之前,我們需要安裝ruby-openid這個Ruby Gem以及acts_as_authenticated和restful_authentication這兩個Rails Plugin。

接下來我們要先建立openid的資料表並在現有的Users資料表中添加一個identity_url欄位。建立一個遷移檔來新增資料表,然後編輯這個遷移檔:

$ ruby script/generate migration CreateOpenidAuthentication

接下來再來建立一個UserOpenid模型,然後編輯這個新的遷移檔:

然後編輯UserOpenid Model:

接下來編輯#{RAILS_ROOT}/config/routes.rb,設定相關的路徑映射:

註:這裡面的controller必須視你自己的project來作設定,若配置錯誤將無法連線到OpenID Server端取得認證。

接下來建立一個OpenidsController並編輯內容:

$ ruby script/generate controller Openids

再來我們需要修改AccountController,在裡面添加一些處理OpenID登入的方法:

接下來編輯app/views/account/openid_login.html.erb視圖,讓使用者可以透過OpenID登入網站,添加下面的內容:

再來編輯app/views/openid/new.html.erb視圖,這是讓使用者添加OpenID帳號的頁面:

最後在#{RAILS_ROOT}/app/views/users/show視圖中添加下面的內容,用來顯示使用者已認證過的OpenID帳號:

現在使用者已經可以透過OpenID帳號來登入網站,接下來我們還可以使用Id Selector和Clickpass的服務來擴充我們的OpenID登入功能。首先我們要到 https://www.idselector.com/ 去使用OpenID申請一個帳號,然後只要將代碼貼到OpeniD的登入頁面即可,這裡我將下面的代碼貼到Application Layout中:






再來我們可以為Rails應用程式添加Clickpass登入功能,首先我們需要到 http://www.clickpass.com/ 申請帳號,然後切換到 Developer 控制台,輸入網站資料:


再來我們需要設定 OpenID 負責新增帳號的位置:

1. trust root 輸入你的網站網址
2. begin_openid_login 輸入http://你的網址/account/openid_authenticate 這個路徑
3. OpenID parameter label 輸入 openid_url
4. submission method 選擇 GET 方法


儲存設定之後,就可以把它提供的 button 語法貼到我們的#{RAILS_ROOT}/app/views/account/openid_login.html.erb 視圖裡面了。


再來我們需要設定 OpenID 負責整合帳號的位置:

這裡的 begin_add_openid_to_user URL 我們要輸入config/routes.rb檔案裡面所設定的http://你的網址/users/add_openid路徑,而 user_id label 只要輸入 Username 即可。另外底下的 callback url 也要設定為 http://你的網址/users/add_openid。

儲存設定以後,再將下面顯示的 button 語法貼到 app/views/openid/new.html.erb 視圖中;如此一來就完成 Clickpass 的整合了!

這是二年前做的東西了,以上的實作過程都是用我自己的Rails Project作為例子,概念僅供參考,若有需要請依照你自己的專案視圖作相關的配置。(OpenID登入可以在localhost作測試,Clickpass則需要連線到相對應的網域名稱才能作登入測試)。

下面是一些 OpenID 的相關資源 :

OpenID 網站

Yahoo! OpenID

OpenID for Rails

8 OpenID Resources for Rails Developers

Railscasts - OpenID Authentication

Authlogic and OpenID on Rails

OpenID and Rails: Authentication 2.0

熱門文章

[轉載] 洛克菲勒寫給兒子的38封信(全文)

2012 アルプスの夏:飛騨・北阿爾卑斯山脈南部の焼岳/槍・穂高連峰/表銀座単独縦走記錄。Day1、Day2 台北~富山~高山~上高地~小梨平露營場~焼岳北峰

日本の登山の歷史

2018 May 5~6【宜蘭】南方澳漁港~豆腐岬~朝陽國家步道~南澳觀音海岸~礁溪福哥石窯雞

September, 2012 白姑大山二天一夜~其實沒那麼累,只是路途遙遠

2017, Oct 29【桃園大溪】週末輕鬆走~打鐵寮古道&白石山

[平成26年7月12日~13日]夏雲湧く北アルプスへ!白馬大雪渓から白馬三山テント泊縦走と鑓温泉~お花畑と雲上の温泉が待ってます!(白馬岳、杓子岳、白馬鑓ヶ岳)

文章列表

聯絡我

名稱

以電子郵件傳送 *

訊息 *