Oct 21~24, 2023【晚秋の贅沢な山旅 PART②】黒部峽谷♡下之廊下|日本北阿爾卑斯山秘境健行+野營+秘湯溫泉 DAY 1(黒部水壩〜下之廊下〜阿曾原溫泉)

圖片
今天是這趟四天三夜秋季山旅的第二天,昨天在信濃大町悠閒度過了半天,今天終於要進入黑部峽谷山區了。原本是預計早上6點15分,要從信濃大町車站前,乘坐第一班巴士前往 扇沢 ,但是旅館客房太溫暖,不小心睡過頭,等到自然醒時,看了手機已經早上6點了。 這時就算再怎麼快速收拾背包衝到車站也趕不上6點15分的巴士了。雖然還有下一班巴士可以搭,但是今天的路程有點遠,得走上20公里,加上紅葉季節,如果太晚抵達露營場,可能會找不到位置紮營,所以我想還是儘早出發比較好。幸好車站前有計程車可以利用,只是必須多花幾千塊日幣消災就是了。 在觀光季節,最早一班由 扇沢 開往 黒部ダム ( 黑部水壩 )的巴士是早上7點30分發車,所以只要需抓個50分鐘的乘車跟買票時間,大概早上6點40分左右,從大町車站前搭上計程車就沒問題了。 洗漱完畢,整理好背包後,將房間鑰匙放回旅館櫃檯的籃子裡,然後走路到車站前面,叫一輛計程車前往 扇沢 (車資大約8000日幣上下)。走在路上可以看見遠處三千公尺級的高山,都已經覆上了新雪,預告著今年的雪季即將到來。 早上7點左右抵達 扇沢 ,買了一張前往 黑部水壩 的單程電氣巴士車票(1,800日幣),然後將登山計畫書投遞進箱子裡,走上二樓排隊等待搭車。果然不愧是紅葉季節,車站二樓裡面,整整四排的排隊區,已經排滿了登山客和觀光客。 扇沢 其實就是 立山黑部阿爾卑斯路線 的長野側起點,是觀光客很喜歡造訪的地方,只是一般觀光客不會曉得,站在黑部水壩頂部欣賞放水時,在那 日本規模第一 的水壩後方之溪谷深處,竟然隱藏著一條少為人知的登山步道。 相關參考連結 下ノ廊下を含む活動日記一覧(YAMAP) 登山ルート情報 - 阿曽原温泉小屋 立山黒部アルペンルート|公式サイト アルピコ交通|路線バス 扇沢線 くろよん(黒部ダム)ーその手に未来をー|関西電力 2021年の番組~最後の秘境・黒部源流紀行【小椋久美子が黒部川の“最初の一滴”を目指す旅】 【下の廊下】黒部峡谷の断崖絶壁を命懸けで歩く(前編) 【下の廊下】落ちたら終わりの絶景登山道(後編) 【テント泊登山】断崖絶壁30kmの道、黒部峡谷の歴史を歩く|旧日電歩道-下ノ廊下-水平歩道 【全篇】『黒部峡谷探検』1927年|「フィルムは記録する」より ‘Film IS a Document: NFAJ Historic Film Porta...

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

熱門文章

2019 Aug 16~18【福建南平】中國世界遺產~福建武夷山遊記。登天遊峰、臨九曲溪、品大紅袍

2019, July 7~8【中國山東】老司機帶你攀登72位古代帝王曾登臨朝拜,以五嶽獨尊名揚天下的泰山(歷史典故+遊覽路線+遊記+照片)

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

Sep 2025【苗栗大湖】關刀山脈|出關古道(聖關段)登關刀山(薑麻園起登O繞一圈)

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

Oct 21~24, 2023【晚秋の贅沢な山旅 PART②】黒部峽谷♡下之廊下|日本北阿爾卑斯山秘境健行+野營+秘湯溫泉 DAY 1(黒部水壩〜下之廊下〜阿曾原溫泉)

Oct 2025【新竹尖石】魯壁山~東穗山~竹60鄉道O形健行|入門中級山|原始林相頗優美

Oct 2025【新竹五峰】羅山林道露營&油霞縱走(油羅山縱走霞山)|路途遙遠小白兔勿試

Sep 2024 晚夏的黑部源流4泊5日山旅 PART ①【溪流登攀&溫泉三昧】赤木沢~五郎沢~祖父沢遡行&雲ノ平~高天原~裏銀座縱走(旅途的開始)

Sep 2025【新竹五峰】林相優美的民都有山(面托油山)午後健行|民宿雲端上的家原路來回

文章列表

Contact

名稱

以電子郵件傳送 *

訊息 *