Jan 2025【日本東北】溫泉三昧之旅④ 在大雪飄落的雪國,追尋秘湯之宿與極上美食(福島~探訪豬苗代湖、磐梯山、會津若松城&千年古湯 蘆之牧溫泉)

圖片
今早6點半起床,準備7點去使用昨天事先預約好的貸切露天風呂,這是「御宿萬葉亭」的名物,每一組住宿客人可以免費使用40分鐘。庭園裡的半露天的風呂,有兩個浴缸,一次只能容納最多三個人同時使用,左邊圓形的浴缸水溫很高、右邊橢圓形的浴缸水溫較低。雖然旅館裡面也有露天浴池,但是早晨享受一下這個庭園裡的露天風呂,也是一種特別的享受。 細密的雪花輕輕飄落,落在庭園的樹木和灌木叢上,覆蓋上一層柔軟的白色。原本翠綠的植物,此刻都披上了銀裝,枝條低垂,彷彿在向雪國的冬天致敬。 遠處的樹林,也都被白雪覆蓋,形成一片靜謐的雪白世界。偶爾,一陣微風吹過,樹枝輕輕搖晃,雪花便如柳絮般飄落,在空中舞動。我泡在熱氣氤氳的溫泉浴池中,早晨的寒意逐漸消散,而欣賞著這如詩如畫的雪景,身心都得到了徹底的放鬆。 聽聞中之澤溫泉的溫泉源自百年前的一場驚天動地的災難,根據我在旅館裡看到的白板資料,那場災難就發生在西元1888年,也就是明治21年的7月15日。某天的夏日清晨,本應是寧靜祥和的,卻被一連串不祥的預兆打破。從幾天前開始,大地就隱隱作祟,到了7點左右,地鳴聲愈發劇烈。早上7點45分,一陣劇烈的搖晃襲來,還沒等眾人回過神,便聽到一聲震耳欲聾的轟鳴,只見磐梯山的方向升起了一根巨大的柱狀物! 這根由岩石、土壤和水蒸氣組成的巨柱,扶搖直上,直衝雲霄,那景象,簡直就像是電影裡的末日場景!據說當時的景象如同「日食」發生一般,天地瞬間陷入一片黑暗。緊接著,夾雜著火山灰和被岩漿加熱的水蒸氣的「熱雨」傾盆而下,這場「熱雨」引發了大規模的土石流,不僅摧毀了沿途的村莊,更將河流截斷,形成了三個新的堰塞湖。而這三個湖泊,就是如今大名鼎鼎的檜原湖、小野川湖和秋元湖。 白板上那張手繪的「會津磐梯山爆發」示意圖,生動地還原了當年的場景。磐梯山被炸掉了一大塊,山腳下的村莊被夷為平地,原本流淌的河流被截斷,形成了三個巨大的湖泊。這幅景象,讓人不禁感嘆大自然的威力,也對當年受災的民眾感到深深的同情。 然而,這場災難卻也孕育出了新的生命——溫泉。白板上寫著:「中之澤溫泉,從江戶時代開始就是湯治場」。據說,這裡的源泉來自安達太良山的火山口,直線距離約7公里。沼之平地區在過去還是人們採集硫磺的地方,這裡出產的硫磺純度高達99%,品質極佳。 這裡的溫泉,屬於酸性泉,自古以來就以其強大的療效而聞名。泉水源自地下水與天水、加上活躍的火山活動交互影響的...

Integrating Twitter OAuth to your Rails Application

Twitter OAuth是做什麼用的?最簡單來說就是讓使用者可以用他們在Twitter.com上面的帳號來註冊/登入你的網站,而藉由Twitter REST API,第三方網站也可以取得使用者在twitter網站上的Following,Follower,Direct Messages等訊息。它的概念是這樣子的:

Have you ever built an application that needed access to user data from a third-party application like Google Apps, Twitter, Facebook, …?

The easiest way would be to get the Google login and password of your users via a login form on your application. You would then be able to use these credentials to connect to the third-party application and get access to your users data.

The OAuth protocol consists of a sequence of interactions between your application, Google services and the end user.
(以上摘自: http://code.google.com/intl/zh-TW/apis/accounts/docs/OAuth.html)

OAuth協議是現在許多大型網站提供API服務所選擇的認證方式,其目的是為API服務提供一個安全、統一和開放的標準。許多知名的大型網路服務都選擇了OAuth協議,如:Facebook、Twitter、Google和MySpace等;或是採用類似的認證方式。

OAuth網站:http://oauth.net/

Twitter的API在初期使用了Basic Auth認證方式,第三方應用只要把用戶名稱和密碼進行BASE64加密,加入到HTTP的Header中就可以使用訪問受限資源的API。隨著用戶和第三方應用越來越多,把用戶名稱和密碼交給第三方應用的方式漸漸變得不安全和麻煩。最後Twitter的開發團隊決定採用OAuth協議對第三方應用進行授權,用戶可以隨時從設置中取消給第三方的授權,就算修改了密碼也不必為修改授權應用的密碼操心。

Google也是OAuth的支持者,下面我們用Google的OAuth流程圖來了解一下OAuth協議的基本流程。


*首先第三方應用會訪問Google OAuth認證服務,來獲取一個Request Token。
*從Google OAuth認證服務傳回一個未授權的Request Token和對應的Request Token Secret。
*應用程式繼續訪問Google OAuth認證服務,要求對未授權的Request Token進行授權。
*如果用戶已經登入Google,將會被重導至一個要求授權的頁面。
*用戶對第三方應用程式進行授權。
*從Google OAuth認證服務傳回已授權的Request Token和對應的Request Token Secret。
*使用已授權的Request Token和對應的Request Token Secret在Google OAuth服務換取Access Token。
*從Google OAuth認證服務傳回Access Token和對應的Access Token Secret。
*使用Access Token和對應的Access Token Secret訪問Google網路服務,如Calendar。
*從Google網路服務傳回使用者的資料,如用戶的Google Calendar資料。


下面是我實作Integrating Twitter OAuth in Rails App的過程:

1.首先要安裝Oauth Gem套件:
$sudo gem i oauth(我使用的版本是0.4.0)

2.到Twitter頁面註冊你的Rails應用程式:
http://twitter.com/oauth_clients
註冊後會得到一個Consumer Key和Consumer Secret值,這是對映到唯一的應用程式


3.現在到#{RAILS_ROOT}/lib目錄下建立一個twitter_oauth.rb檔案,內容如下:

然後編輯lib/login_system.rb(這是我的Rails App用來處理登入驗證機制的地方),我將callback方法放在這裡,並修改其中的一些登入機制:

4.編輯#{RAILS_ROOT}/config/environment.rb,添加下面內容:

5.建立migration新增資料表欄位:
$ruby script/generate migration AddTwitterOauthToUsers

編輯#{RAILS_ROOT}/db/migrate目錄下新增的遷移檔,新增這些欄位到users資料表中:

然後執行 $rake db:migrate 即可。

之後打開phpMyAdmin,給users資料表建立索引,如下圖:


6.編輯#{RAILS_ROOT}/config/routes.rb內容:
之後我們就可以在視圖中使用twitterOAuth_url來將使用者導向Twitter OAuth認證頁面了!

7.編輯users_controller.rb,新增下面的內容:

然後修改users_controller.rb中的create方法:

8.在app/views./users/new.html.erb視圖中添加Twitter OAuth登入驗證按鈕:

#並修改註冊表單的密碼欄位(若透過Twitter OAuth註冊帳號,則不用填寫密碼欄位,但日後可以設定密碼)

9.編輯app/views/users/show.html.erb以及edit.html.erb視圖,添加Twitter Connection按鈕:

然後修改app/views/users/edit.html.erb視圖中的密碼設定欄位:

10.最後修改User Model中的password_required?方法:

OK~到此為止全部搞定啦!


下面是一些OAuth相關的參考資源

Twitter REST API
http://apiwiki.twitter.com/

API Changes
http://apiwiki.twitter.com/API-Overview

OAuth Examples
http://apiwiki.twitter.com/OAuth-Examples

OAuth Gem
http://github.com/pelle/oauth/tree/master

Rails plugin for OAuth
http://github.com/pelle/oauth-plugin/tree/master

OAuth Library
http://code.google.com/p/oauth/

How the RequestToken api works
http://code.google.com/p/oauth-plugin/wiki/RequestToken

How to turn your rails site into an OAuth Provider
http://stakeventures.com/articles/2007/11/26/how-to-turn-your-rails-site-into-an-oauth-provider

Ruby, OAuth & YouTube
http://runerb.com/2010/01/12/ruby-oauth-youtube/

RESTful OAuth認證全過程
http://blog.myspace.cn/e/400934419.htm

OAuth4 (and OAuth4R)投影片
http://www.slideshare.net/choonkeat/oauth4-and-oauth4r

Facebook OAuth on Rails
http://www.wisejive.com/2010/05/facebook-oauth-on-rails.html

熱門文章

【秋季清邁遊 Part 5|Visit Mae Ya Waterfall and Wachirathan Waterfall】The 6 Day Itinerary To Explore Chiang Mai And Northern Thailand's Mountains

台中【馨苑小料理】西區店|巷弄裡的人氣台菜店|米其林必比登推薦美食|提供合菜、個人套餐

Jan 2025【日本東北】溫泉三昧之旅④ 在大雪飄落的雪國,追尋秘湯之宿與極上美食(福島~探訪豬苗代湖、磐梯山、會津若松城&千年古湯 蘆之牧溫泉)

Feb, 2024【台中西區】桃太郎日本料理|隱身巷弄裡的39年老字號無菜單料理|食材新鮮、自然美味

Jan 2025【苗栗泰安】泰安警光山莊泡湯&彰化CP值極高的日本料理|沐藏料理所X海龍王|彰化板前料理 ♨️🍁🥢🍲

Jan 2025【日本東北】溫泉三昧之旅① 在大雪飄落的雪國,追尋秘湯之宿與極上美食(秋田~探訪有日本溫泉界頂點之稱的秘湯乳頭溫泉鶴之湯)

2019.10.9~13【令和元年の紅葉の山旅へ PART①】秋の贅沢、黒部川の源流へ北アルプス深部を縦走5日間!Day0、Day1(前泊、折立~藥師岳山莊)

Mar 2025【新竹五峰】油羅山森呼吸:擁抱原始柳杉林秘境之美(羅山林道第一登山口往返)

Sep 3~4, 2021【烏來三大林道】未完成的「新北橫公路」~遠離塵世喧囂的西坑林道、桶後林道、內洞林道

May, 2024【新北瑞芳】四腳亭步道|漫步油桐花步道,踏訪時光痕跡:四腳亭砲台歷史尋幽之旅(順訪在地老店 橋頭排骨麵)

文章列表

Contact

名稱

以電子郵件傳送 *

訊息 *