2013/04/20

【C#でTwitter】OAuth認証でTwitterにアクセス[概要]



 Twitterのクライアントを作るためにまず通らなければいけないのが「認証」です。
クライアント開発のためにもC#でOAuth認証をするための方法をまとめます。

今回は 「認証」について調べたものをまとめていきます。
次回、C#でOAuth認証する方法を書こうと思います。
【C#でTwitter】OAuth認証を行う[デスクトップクライアント版]



BASIC 認証とは



 Twitterではもともと「BASIC認証」が使われていました。






















 認証が完了するとクライアント側でTwitterのサービス(ツイート、フォロワー管理、ふぁぼ管理など)
ができるようになります。


!!要注意!!
③不正利用させる可能性
   悪意のある開発者が作ったアプリだった場合、入力されたユーザIDとパスワードを
   収集して不正利用(勝手にツイート、アカウント削除など)される可能性があります。

④盗聴される可能性
   ユーザIDとパスワードをサーバに送るとき、平文(暗号化されていない状態) で送られるため、
   第三者から盗聴される可能性があります。


 BASIC認証はほとんどのブラウザに対応している利点はありますが、
セキュリティ的にあまりよろしくない。

そのため、TwitterもBACIS認証からOAuth認証へと変わりました。

http://blog.jp.twitter.com/2010/04/blog-post_30.html

Twitterブログ: ベーシック認証について








OAuth 認証とは?



  セキュリティを考えてTwitterで「OAuth認証」が採用されました。



















 BASIC認証と大きく違うところは「クライアント側でユーザIDとパスワードを入力しない」ところです。
OAuth認証ではサービス(Twitter)のページでクライアントの認証を行います。
※認証過程はわかりやすくするため、なんちゃらトークンなどは省いています。


このような画面を見たことがあると思います。






















 このようにTwitterのページに移動し、そこで「連携アプリの認証」を行います。
また、BASIC認証とは違いクライアント側で利用できる「動作」を限定することができます。


 認証したクライアントの確認や、認証取り消しはいつでもできます。




















 BASIC認証からOAuth認証に変わったことでセキュリティが強化されたとはいえ、
注意すべき点があります。


!!要注意!!
1.不審なアプリの認証は避ける
    せっかくセキュリティが強化されても訳のわからないアプリを認証したら
    BASIC認証とまったく同じ結果になってしまいます。

2.アプリが求めるアクセス権を確認する
    例えばフォロワー管理アプリなのにダイレクトメールのアクセス権を求められるなど、
    本当にそのアプリが必要としているアクセスなのか見極める必要があります。



参考にしたサイト



http://gihyo.jp/dev/feature/01/oauth/0001

gihyo.jp : ゼロから学ぶOAuth 



http://www.appbank.net/2012/10/14/iphone-news/490680.php

APPBANK : Dropbox・Evernote・Twitter を使うアプリで見かける「OAuth認証」って何?









以上

0 件のコメント :

コメントを投稿