Introduction

TheShodoの解説記事で利用している外部サービス認証連携 サンプルコードです。

ASP.NET MVCと外部のソーシャルサービスを組み合わせてユーザー認証を行います。

Windows Azureを組み合わせたサンプルコードも別途用意していますので、Windows Azureを組み合わせてのサンプルもお試しいただけます。このサンプルコードはWindows Azureを使わず、認証情報はメモリ上に保存するため永続化などは行わず、認証の仕組みのみのサンプルとなります。

利用テクノロジとサービス

このサンプルコードでは以下のテクノロジを利用しています。

対応するソーシャルサービス

このサンプルコードでは以下のソーシャルサービスと連携し認証を行っています。

Building the Sample code

サンプルコードのビルドと実行にはVisual Studio 2010とASP.NET MVC 3のインストールが必要となります。

またサンプルの実行には各サービスでのAPIキー/秘密キーを取得し設定する必要があります。お手数ですがサンプルコードを実行する環境ごとに取得して 設定してください。

アプリケーションを登録してAPIキーを取得する

アプリケーションのAPIキーなどは各サービスの管理画面などからアプリケーションを登録することで取得できます。

サンプルを実行させる上での注意

サービスによってはサービスにアプリケーションを登録する際に設定したドメインと認証後の戻り先URLのドメインが一致している必要がある場合があります。

FacebookやWindows Liveで動作しない場合にはドメインが一致しているかどうか確認してみてください。公開されていないホスト名やドメイン名を登録して実行する場合にはhostファイルを利用するなどの工夫が必要となる場合があります。

APIキーをサンプルコードに設定する

取得したキーはWeb.configのappSettings要素以下に設定するための項目があるのでその項目に値を設定してください。

XML
スクリプトの編集|{#scriptcode_dlg.remove_script}
<configuration> 
  <appSettings> 
    <!-- Twitter コンシューマーキー/秘密キー--> 
    <add key="Authenticate.Twitter.ConsumerKey" value="" /> 
    <add key="Authenticate.Twitter.ConsumerSecret" value="" /> 
 
    <!-- Facebook アプリケーションID/秘密キー--> 
    <add key="Authenticate.Facebook.AppId" value="" /> 
    <add key="Authenticate.Facebook.SecretKey" value="" /> 
 
    <!-- Windows Live クライアントID/クライアント秘密キー--> 
    <add key="Authenticate.WindowsLive.ClientId" value="" /> 
    <add key="Authenticate.WindowsLive.ClientSecret" value="" /> 
  </appSettings> 
</configuration>