要件定義の不安をなくす。要件定義の不安をなくす。ユニファのバックエンド分割に学ぶイノベーションメタバース開発に必要な技術の基本知識をおさらい。Boost」など、さまざまなカンファレンスを企画・運営しています。BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。KB)最近TwitterやGitHubなどのアカウントを使ってログインできるWebサービスをよく見るようになりました。Identityを用いて実現する方法について紹介します。外部ログインとは最近Webサービスを利用していると、TwitterやGitHub、Facebook、Googleなどのアカウント情報を使ってログインできるサービスをよく見るようになりました。プログラミング情報の投稿サイトである「Qiita」では、GitHubとTwitterのどちらかのアカウントでログインできるようになっていて、Qiita側にパスワードを登録しなくても利用できます。Identityでは「外部ログイン」または「外部認証」と呼んでいます。Identityを開発した動機の一つでもあり、バージョン1.0のころからサポートしています。外部ログインを利用することで、次のようなメリットがあります。パスワードを持たなくてよい外部サービスに認証処理を委譲するため、アプリケーション自体で認証のためのパスワードを持たなくてよくなります。したがって、その分セキュリティ上も有利になります。外部サービスのアカウント情報が使えるログインした外部サービスのアカウント情報を、ある程度自由に使えるようになります。表示する「ユーザー名」にTwitterのユーザー名を使う、といったことができるようになります。今回はTwitterを例にして、外部ログインの説明を行っていきます。FacebookやGoogle等のサービスでも、ほぼ同じようなイメージで動作しますので、Web検索等で調べてみてください。Community」を使ってサンプルの作成、説明を行っていきますので、ご了承ください。外部ログインの動作イメージTwitterを例とした動作イメージを図1に示します。外部ログイン要求ログイン画面に追加された「別のサービスを使用してログインします。」欄の下にある「Twitter」ボタンをクリックすることで、Twitterを使用してログインすることを要求します。Secret」が送信されます。外部サービスでの認証Twitterのアプリ認証画面にて「連携アプリを認証」ボタンをクリックし、Twitter側で認証します。元のアプリケーションに戻ってくるので、Twitterを使用してログインするユーザーの「メールアドレス」を入力してから「ログイン」ボタンをクリックし、ログインを完了します。この時、Twitterによる認証情報を読み取り、アプリケーション側のユーザー情報等に使うことができます。Webアプリケーションの作成それでは、順に外部ログインを行う方法について説明していきましょう。Forms」として作成します。サンプルではプロジェクト名を「ExternalLoginSample」としています。プロジェクトを作成したら、この後のTwitter側の設定で使いますので、プロジェクトのプロパティの「開発サーバー」→「URL」を控えておきましょう(図2)。NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。ショウ)<個人紹介>新潟県長岡市在住の在宅リモートワークプログラマー。家事や育児、仕事の合間に長岡IT開発者勉強会(NDS)、Niigata.NET、TDDBCなどのコミュニティに関わったり、Web記事や書籍などの執筆を行ったりしている。2017対応』(日経BP社、2017)など。