LoginSignup
1
3

More than 5 years have passed since last update.

【やってみた】Azure Active DirectoryでTwitterのシングルサインオン(SSO)を実装してみる

Posted at

Azure Active Directoryを使った、Twitterのwebアプリへのシングルサインオンの実装方法をご紹介致します。

「いちいちアカウントとパスワード入れるのめんどくさいなぁ。」そんなことを思った経験はないでしょうか。まぁ最近だったらブラウザにパスワード記憶させればいいし、、、。まぁその通りです。ただし、ブラウザにパスワードを記憶させることができない環境(ゴリゴリにネットワークを閉じた社内の環境など)ではブラウザにパスワードを残すことはできません。そこで役に立つのがシングルサインオンです。

シングルサインオン(SSO)とは、1つのIDとパスワードで認証を行い、複数のWebサービスやクラウドサービスにアクセスする仕組みです。

実はこのシングルサインオンは別に新しいサービスではなく、十数年前からオンプレミス環境では構築されていました。最近はこのシングルサインオンという機能をクラウド上で実装し、オンプレにあるアプリだけではなく、SNSなどのネット上のサービスにも一つのIDでパスワード認証を行えるようになりました。

今回このブログでは、Azure Active DirectoryでTwitterのシングルサインオンを実装する方法をご紹介致します。

シングルサインオンでTwitterにログインする方法

①Azure Active Directoryにユーザの追加
②AADの管理するアプリケーションにTwitterを追加
③ユーザーの資格情報に、Twitterのログイン名とパスワードを追加
④Azure AD アクセス パネルからAADに登録したログイン名でサインインし、Twitterにログインする

以上の方法を行い、実際にシングルサインオンが実現できるのか、実証実験をしてみます。

実験①:規定ブラウザ(Chrome)でログインする

実験方法
Azure AD アクセス パネルに表示されているTwitterのロゴボタンをクリックすることで、シングルサインオンが可能かどうか実験

結果
Azure AD アクセス パネルにはサインインすることができ、正しくTwitterがアプリとして表示されていた。
20180226_SSO実験_4.PNG

Twitterのロゴボタンをクリックしシングルサインオンができるか確認した所、ユーザーの資格情報に登録したTwitterの認証情報でログインされず、別のツイッターアカウントでログインされてしまった。

考察
ブラウザにパスワードが保存されログイン維持を実行している場合、シングルサインオンよりもブラウザに残っているキャッシュが優先されてしまうということが分かった。したがって次はプライベートモードでシングルサインオンを試みる。

実験②:シークレットモードでログインしてみる

実験方法
規定ブラウザ(Chrome)をシークレットモードで起動し、Azure AD アクセス パネルからTwitterロゴをクリックしてシングルサインオンが可能かどうか実験

結果
シークレットモードでは、シングルサインオンに必要な拡張機能がインストールできず、シングルサインオンは失敗。
20180226_SSO実験.PNG

考察
Chromeの拡張機能の一部はシークレットモードでは機能しないということが判明しました。したがってシングルサインオンをTwitterで実装するには、対象のwebサイトのパスワードが保存されていない、ブラウザを使用することが必要である。そこで、実験用のブラウザ(FireFox)をインストールして、実験してみる。

実験③

新しくPCにインストールしたFirefoxで、実験①、②と同じ手順で実証実験を行う。

結果
成功!!
ユーザの資格情報に入力したツイッターアカウントにシングルサインインできました。
しかし、Twitterの仕様だと思うのですが、セキュリティのため、1回目にログインする際に登録した電話番号を入れなくてはいけませんでした。。(結局SSOできてないじゃん。笑)
20180226_SSO実験_2.PNG

まとめ

これまでオンプレミスで管理していたシングルサインオンですが、クラウドと統合したAAD環境を作ることで、多くのSNSにシングルサインオンできるということが分かりました。ただし一方で、セキュリティの観点から、初回ログイン時に電話番号を入力するなどの仕様もあり、IDとパスワードだけ知っていればログインするということはできない様です。まぁそれも踏まえ、ほんの数分でADの構築から、シングルサインオンを実現できるAzureは大変魅力的であると感じました。

参考URL

Azure AD アクセス パネル
https://myapps.microsoft.com

開発者のための Azure Active Directory
https://docs.microsoft.com/ja-jp/azure/active-directory/develop/active-directory-developers-guide

Azure Active Directoryで簡単認証~自前でユーザー管理しよう Nativeアプリ 前編~
https://blog.nextscape.net/archives/Date/2015/06/azuread05

1
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3