アプリのサインインメカニズムとして、LinkedInやTwitterなどのoAuthを使用する必要がありますか?ほとんどのアプリはoAuthを使用して他のサービスを接続しているようですが、oAuth(StackOverflowを含む)を使用した後に独自のユーザー/パスワードを設定するようになっているため、これがなぜなのかよくわかりません。ここでいくつかの洞察が大好きです。ありがとうございました。
5 に答える
OpenIdを使用して、特定のログイン/パスワードを入力しなくても、ユーザーがアプリケーションにサインインできるようにしてみませんか?
対応するウィキペディアのエントリを引用する:
OpenIDは、アクセス制御に使用できるユーザーを認証するためのオープンな分散型標準であり、ユーザーが同じデジタルIDを使用してさまざまなサービスにログオンし、これらのサービスが認証機関を信頼できるようにします。
OpenIDは、ログイン名とパスワードを使用する一般的なログオンプロセスを置き換えます...
ところで、それはまさにスタックオーバーフローにログインする方法です;-)
OAuth の目的は、サイトでユーザーを認証することではなく、LinkedIn、Twitter、Google API などの他のサイト (oauth プロバイダー) の保護されたリソースへのアクセスをユーザー (oauth コンシューマー) に許可することです。
認証には、他の人が指摘したように OpenId を使用する必要があります
Twitterは、OAuthであるTwitterフローでサインインを提供しますが、サービスの既存のユーザーであり、Twitterですでに認証されている場合は、より高速なリダイレクトを提供します。
http://apiwiki.twitter.com/Sign-in-with-Twitter
Twitter中心のアプリケーションを構築している場合、これを使用するのは非常に多く、OpenIDのような代替認証方法全体を実装する必要はありません。
ユーザーが誤って2つのアカウントを作成し、それらをマージする必要があるため、ユーザーにTwitterとLinkedInの両方で認証を許可する場合は注意してください。
Linkedinには、APIで使用するためのOAuthのみがあります。また、Webアプリを作成している言語の種類によっても異なります。これらの言語には、利用できる事前に作成されたラッパーライブラリが含まれている必要があります。
Facebook と Twitter にはどちらも「Login with Facebook/Twitter」API があり、ユーザーは Web サイトのアカウントを作成しなくても実際にログインできます。どちらも、有効期限が切れる(または切れない)有効なセッションを返します。したがって、API から両方を取得できるため、実際にはユーザーにユーザー名/パスワードを決定するよう求める必要はありません (ただし、Twitter を使用している場合はユーザーのメールアドレスを取得することはできません)。
では、なぜこれらの機能を Web サイトに追加するのでしょうか?
ユーザーは一般的に、メールアドレス認証プロセス全体を経て名前などを入力するよりも、「... でログイン」ボタンを押す可能性が高くなります...