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

圖片
今年晚夏的山旅,我前往了日本北阿爾卑斯山脈黑部源流域進行為期五天四夜的溪流登攀+登山縱走行程。黑部川源流一帶的山域,雖然過去幾年已造訪過多次,不過這回是第一次在日本進行溪流登攀(日本叫「 沢登り 」),而且是在我特愛的黑部川流域,讓我對黑部源流域有了更進一步的認識。 此行也順路造訪了五年前就計畫要去,但是因爲颱風而沒能去成的「 雲ノ平 」,以及有「 日本第一遠的溫泉 」之稱的秘湯「 高天原溫泉 」泡湯。然後還走了去年因為天氣惡劣而沒能走的「 裏銀座縱走路線 」下山,完成這趟縱橫黑部源流域,總距離50幾公里的溪流登攀和登山旅行。 黑部川 (日語:黒部川/くろべがわ)是日本富山縣東部的一級河川,為黑部川水系的本流,它被列為富山縣的七大河流之一,其他六條河流分別是片貝川、早月川、常願寺川、神通川、莊川和小矢部川。 黑部川 大部分蜿蜒於深山內,形成十分陡峭的黑部峽谷,如果想親身感受黑部峽谷的壯闊,走一趟 下ノ廊下 和 水平步道 ,絕對是畢生難忘的體驗。 下圖為黑部川水系流域的示意圖,從海拔2924米的 鷲羽岳 降下的的最初的一滴水,流經 奧ノ廊下 、 上ノ廊下 、 下ノ廊下 ,並匯聚了黑部山區眾多支流的溪水後,向北奔流而下,然後流入富山灣,最後進入日本海。 下圖是這趟山旅所進行的溪流登攀(沢登り)的區域,包括 赤木沢 、 五郎沢 、 祖父沢 等黑部川支流,主要位於黑部川的源頭,尤其是赤木沢,更有著「 日本第一美溪 」之稱號。 黑部源流…這幾個字對登山者來說有著特殊的魔力。人跡罕至的秘境,峽谷綿延的 上ノ廊下 ,激流沖刷岩石的 下ノ廊下 ,源頭的雲ノ平瑞士庭園等。在這黑部源流的一隅,一條溫柔的小溪緩緩流入。赤木沢與黑部川本流交匯處的絕美景色,展現了大自然鬼斧神工的美麗,在陽光照耀下的溪流和深潭,呈現出豐富的色彩變化,其美景宛如天國一般。 下圖是我這趟五天四夜的山旅,所行經過的整個路線(使用 YAMAP 紀錄),從富山縣的 折立登山口 入山,溯行黑部源流域的多個溪流(黑部川上游的支流),並順訪 雲ノ平 和 高天原溫泉 後,再走 裏銀座縱走路 ,由高瀨湖下山,總距離約53.6公里(不過在 Sports Tracker 上面的紀錄卻是63.3公里,不知道哪個才是正確的)。 這趟山旅的途中,依序住宿 藥師沢小屋 、 黑部五郎小屋 、 雲ノ平山莊 、 水晶小屋 ,這些都是以前沒有住過...

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

熱門文章

Jul 2025【新北雙溪】十年荒徑重見天日!雙溪二柑O型健行🍊(威惠廟~柑腳城山~柑腳山~崩山坑古道)

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

日本の登山の歷史

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

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

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

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

Jun 2025【彰化員林】月光山舍土雞料理景觀餐廳(寵物友善餐廳)|員林藤山步道散步

日月潭四姊妹之水社大山與環湖自行車道~我去去就回!

文章列表

Contact

名稱

以電子郵件傳送 *

訊息 *