Jan 2025【日本東北】溫泉三昧之旅⑤ 在大雪飄落的雪國,追尋秘湯之宿與極上美食(福島~被時光遺忘下的江戶原風景,日本三大茅葺聚落大內宿)

圖片
清晨的陽光穿過窗櫺,灑落在榻榻米上,為房間增添了一抹溫暖的光輝。窗外,白雪皚皚的山脈在晴朗的天空下閃閃發光,預示著美好的一天。我起身走到窗邊,深深吸了一口清新的冬日空氣,心中充滿了對即將到來的一天以及仙峽閣旅館美味早餐的期待。 旅館的餐廳瀰漫著舒適的氛圍。我坐在窗邊的座位上,渴望一邊欣賞迷人的雪景,一邊享用我的早餐。一個擺盤精美的早餐托盤送到了面前,上面擺滿了各種誘人的菜餚。 我的目光首先被一碗晶瑩剔透的白米飯吸引,它的香氣瀰漫在空氣中。旁邊是一份色彩繽紛的沙拉,新鮮的蔬菜搭配玉米粒,令人食慾大增。烤鮭魚散發著陣陣香味,魚皮烤得酥脆可口。溫泉蛋浸泡在清淡的高湯中,看起來既美味又暖胃。 其他幾道小菜也讓這份早餐更加豐富:燉菠菜、裙帶菜炒蒟蒻、山藥泥佐醬油,以及醃梅子和醃黃瓜。最後,一小杯香甜的芒果優格為這頓早餐畫上了完美的句點。 這份早餐不僅美味,而且營養均衡,為我在這個冬季仙境中探索一天提供了滿滿的能量。我細細品味著每一道菜餚,感受著旅館的用心和款待,心中充滿了感激之情,感謝這美好的一天有如此美好的開始。 飯後早晨,我踏出旅館的暖簾,迎接我的是一片銀白色的世界。蘆之牧溫泉街靜靜地沉睡在會津深山的懷抱中,厚厚的積雪覆蓋著屋頂、街道和樹木,彷彿時間也凍結在這一刻。 呼出的氣息在冰冷的空氣中凝結成白霧,我沿著溫泉街漫步,腳步聲在寂靜的早晨顯得格外清晰。偶爾,可以聽見屋簷上融雪滴落的聲音,或是遠處傳來的幾聲鳥鳴,更增添了這份寧靜的氛圍。 阿賀川靜靜地流淌在山谷間,河面上覆蓋著薄薄的冰層,在陽光的照射下閃閃發光。河岸邊的樹木披上了雪白的冬衣,枝椏交錯,形成一道道優美的弧線。溫泉旅館的屋頂冒著裊裊炊煙,為這寒冷的冬日增添了一絲溫暖。 漫步在空無一人的溫泉街上,我彷彿置身於一個與世隔絕的世外桃源。這份寂靜,這份純淨,洗滌了我的心靈,讓我感受到久違的平靜與祥和。 凛冬將群山染成了素雅的銀白,積雪在山坡上鋪陳開來,厚薄錯落,像是誰不經意間揮灑的筆墨,濃淡相宜。裸露的枝枒,在寒風中輕輕搖曳,仿佛在低聲訴說著冬日的故事。遠處的山巒,在霧氣的籠罩下,若隱若現,宛如仙境一般,讓人心生嚮往。 蘆之牧溫泉的冬日,沒有喧囂,沒有繁華,只有那份獨特的靜謐與安詳,像一首悠揚的樂曲,在山谷間輕輕回蕩,令人陶醉其中,忘卻了塵世的煩惱。 這山,這雪,這寧靜的溫泉小鎮,這氤氳的霧氣,交織成一幅絕美的冬日畫卷,...

Using Yahoo! Browser-Based Authentication with your Rails Application


Yahoo has released a new product called BBAuth in Sep, 2006, It’s a mechanism for non-Yahoo applications to access Yahoo’s authentication mechanism and user data in a secure manner.

BBAuth fixes that problem when it comes to accessing data locked up at Yahoo. Using the tools Yahoo provides, non-Yahoo applications can request a user to sign in to Yahoo and give permission for Yahoo user data to be sent to the non-Yahoo application.

這是二年前做的東西,我們將透過 Yahoo Browser-Based Authentication(Yahoo! BB Auth)這個介面來實作使用 Yahoo! 帳號登入 Rails 應用程式的功能。實作之前需要先安裝 xml-simple 這個 Ruby Gem 套件,以及 Act-as-authenticated 這個 Rails Plugin。

首先建立遷移檔,在 User 模型添加一個一個 yahoo_userhash 欄位:

$ ruby script/generate migration AddYahooBBAuthToUsers

實作之前,先來了解一下Yahoo! BB Auth 的基本運作原理:

* 當使用者點擊網頁上的 http://你的網址/yahooLogin 連結之後會被重導至 Yahoo!的認證頁面
* 認證成功之後,Yahoo!會傳回一些 information,並導向 http://你的網址/yahooAuth

return 回來的其中一個值即是使用者在 Yahoo!與你的 Rails 應用程式聯合產生的 unique id。

若它在我們站上沒有資訊,就準備一個註冊頁面讓使用者填。如果有就用 find_by_yahoo_userhash 找出他是誰,確定身份後再改 seseeion 讓他能夠被辨識出來。



接下來請到下面網址註冊你的 Rails Application 並取得 Yahoo BB Auth 的 AppID:
http://developer.yahoo.com/auth/appreg.html

這裡輸入的 Web Application URL 和 BBAuth Success URL 網址必須和你的route.rb裡面的控制器設定符合,這裡我在 Web Application URL 輸入http://你的網址/yahooLogin,以及在 BBAuth Success URL 輸入 http://你的網址/yahooAuth,申請並認證之後會得到一個 AppID 和 Secret Key。再來就是在 #{RAILS_ROOT}/lib 目錄下建立一個 yahoo_bb_auth.rb 檔案,然後把這兩個 key 套用在檔案中:

接下來編輯 #{RAILS_ROOT}/config/routes.rb 檔案,設定 yahooLogin 和 yahooAuth 對應的 Controller 和方法:

然後編輯UsersController的Create方法,添加下面的內容:

然後在UsersController中新增 yahooLogin 和 yahooAuth 這兩個方法:

接下來編輯 app/views/users/new.html.erb 裡面的密碼輸入區塊,如果使用者透過Yahoo!帳號認證成功並返回註冊頁面,則不需要填寫密碼欄位:

再來編輯 app/views/users/edit.html.erb 這個帳號設定的視圖,這裡設定當使用者要修改密碼時,只有當使用者的 hashed_password 欄位為空(沒有密碼)以及 yahoo_userauth 欄位有值(已認證過 Yahoo!帳號)的情況下,才不需要填寫當前密碼的欄位(current_password),因為使用者目前並沒有設定密碼。

同樣的我們必須修改UsersController的update方法,來增加一些判斷邏輯:

OK!完成了,現在當使用者按下"從Yahoo帳號登入"的連結後,將會被導向Yahoo!的認證頁面,認證成功之後再將使用者帶回我們的網站,如果在資料庫中找到對映的yahoo_userhash資料,則將使用者登入,否則就將使用者導向註冊頁面。

Yahoo 帳號認證頁面
應用程式授權頁面

現在啟動你的Mongrel Cluster進行測試吧!enjoy~

熱門文章

July 2024【台北士林】陽明山彼端的原始秘境|颱風後的鹿角坑生態保護區|循著疊石指引造訪楓林瀑布

Jan 2025【日本東北】溫泉三昧之旅② 在大雪飄落的雪國,追尋秘湯之宿與極上美食(仙台~品嚐極上米澤牛&奧羽的百年藥湯-鎌先溫泉)

Jan 2025【苗栗三義】富貴牡丹(三義館)人文藝術餐廳|預約制|在美術館裡吃無菜單料理

Jan 2025【日本東北】溫泉三昧之旅⑤ 在大雪飄落的雪國,追尋秘湯之宿與極上美食(福島~被時光遺忘下的江戶原風景,日本三大茅葺聚落大內宿)

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

Feb 2023【台中和平】裡冷林道Off Road單車野營~順登谷關七雄之首八仙山!單車+野營+登山,三個願望一次滿足

May 2023【雲林古坑】 負離子濃度達都市40倍/漫步木馬古道/順訪雲嶺之丘/山合苑喝咖啡/秋田犬

日本の登山の歷史

Sep, 2021【苗栗南庄】蓬萊林道Off Road小試|雨後很爛很濕滑|二傳低底盤車勿輕易嘗試

Mar 2025【桃園楊梅】福人登山步道輕鬆行:探索綠意盎然的自然步道

文章列表

Contact

名稱

以電子郵件傳送 *

訊息 *