人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

自サイトでのtwitterアカウントを使ったログイン機能実装について。

最近、twitterのID・パスワードを使ってログインできるサイトが増えてきましたが、
同じことを自分の運営するサイトでもやりたいと思っています。

その場合、プログラム的にはどのような流れになるんでしょうか。

ユーザーにtwitterのIDとパスワードを入力してもらい、
OAuthで「許可する」をクリックしてもらって、コールバックURLに戻ってきた後の処理をお教え願えますでしょうか。
(例えばOAuthトークンなどユーザーのどの情報をDBに保管すべきか など)

一般的にはID・パスワードもDBに保存してるんでしょうか。
できればtwitterのパスワードのようなプライベートなものをDBに保存したくないんですが・・・

また、数日間はログイン情報をCookieに保持し自動ログインさせたいですが、
仮にID・パスワードをDBに保存しないとすると、Cookie期限が切れた場合、
またOAuth認証が必要になるんでしょうか?

できるだけ具体的にお教えいただけると助かります。

※twitter APIでbot作成経験はあります
※PHPしか扱えませんので、PHPでの実装方法をご教示ください
※使用DBはMySQL5系です

●質問者: Otaxa
●カテゴリ:インターネット ウェブ制作
✍キーワード:API BOT cookie dB OAuth
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● koriki-WeKan
●27ポイント

OAuth認証の仕組みはhttp://www.ilovex.co.jp/blog/system/projectandsystemdevelopment/...が詳しい。


>一般的にはID・パスワードもDBに保存してるんでしょうか。

それではOAuth認証の意味がない。

DBに保管せずに逐次認証するのがOAuth認証の便利なところである。


>ログイン情報をCookieに保持し

ログイン情報をCookieに保存するのは危険である。常識的にはセッション情報を保存する。

これはOAuth認証とは関係ない機能なので、自分で実装することになる。


PHPでTwitter APIのOAuthを使う方法まとめ

http://www.msng.info/archives/2010/01/twitter_api_oauth_with_php...

◎質問者からの返答

ありがとうございます。

OAuth認証自体は経験があるのでわかるんですが、認証後にその認証情報と自サイトとを連携する方法が知りたいです。


2 ● hanako393
●27ポイント

http://d.hatena.ne.jp/movapic/20090809/1249748017

OAuthという方式は、認証をTwitter側にすべて任せて

こちらは何もしません。

もちろんパスワードも保存しません。


IDだけは必要なので保存するしかないでしょう?

IDがいらないんだったら、そもそも認証要らないと思いますよ。

◎質問者からの返答

すみません。質問文がわかりにくいかもしれませんね・・・

twitterでOAuth認証するまではいいんですが、認証後にリダイレクトで自サイトに戻って「(twitterで)ログイン済み」というセッション(Cookie)を持ちまわる、ということがしたいのです。

しかも、セッションが切れた後(ブラウザを閉じた後)に、再度自サイトへアクセスした際にもCookieなどでログイン済みの状態にしたいです。

こういう場合に、OAuthで取得できる「oauth_token」はDBに保存するとして、他にどういう情報をDBに保存すべきかがわからなかったので。


3 ● niwa-mikiho
●26ポイント

受け取った oauth_token を自らのスクリプトで Cookie とサーバー側の DB or ファイルに保存します。

あと Twitter アカウントと、自サイトでのユーザーアカウントとの紐付けも必要。


oauth_token が帰ってきた時点で認証成功なので、パスワードは保存しなくても OK

◎質問者からの返答

ありがとうございます。参考になります。

自分で実験する時間がとれてませんが、

TwitterのIDとoauth_tokenをDBに保存するとして、

ログインを維持するために、たとえばIDをCookieに保存したとすると、

Cookie期限が切れた場合、またOAuth認証が必要になりますよね…

そこらへんはしょうがないですかね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ