2017-09-21 17 views
1

マイクロソフトの開発ポータルからコードが正しく動作します。 App1とApp2のマイクロソフト社のazure sdkを使用したアンドロイドのsso

私は同じコードを開発し、両方のアプリをインストールしていると同時に

App1の最初の打ち上げとして私を尋ねてきます。しかし、誰もが、それは

2つのアプリを考えてみましょう以下のユースケースでどのように振る舞うべきかを教えてくださいすることができますwebviewの資格情報それはいいです。私はキャッシュしていないか、または日付までログオンしています。

に成功Iにログインしたら、私はApp2のを開いたときに自動ログイン

は今、それはまだログインページに私をスローして、アプリが正常に動作します。理想的にはApp1のキャッシュと自動ログインが必要です。

ご注意:私は、私はあなたが持って見る私は長い

答えて

0

ので、この問題に関する内部シングルサインで立ち往生していますように私はこのようにについて教えてくださいマニフェスト

の両方のアプリケーションで同じ「共有ID」を提供してきましたその質問にADALとタグ付けしましたので、あなたが使っているライブラリだと思います。 ADALはウェブビューを使用してログインを促します。AndroidのWebviewはアプリ間で多くの状態を共有せず、かなり完全にサンドボックスです(分離され、セッションクッキーなどを共有しません)。そのここに、そのような中、マイクロソフト認証のように、エンドユーザーは、基本的兆候、

ブローカ経由SSO

ブローカーアプリケーションを使用して:

さて、あなたはほとんど間違いなく、あなたは、2つのオプションを持っているachieve SSO for Android using ADALすることができます彼らはブローカのサンドボックス内でセッションを維持することができます。これにより、Azure ADユーザにサインインしているどのアプリも状態を共有できます。上にリンクされている記事では、ブローカーの使用をアプリに許可する方法について説明しています。

非ブローカ経由SSO

あなたが所有するアプリケーションのすべての間でSSOを設定することができます。これは、エンドユーザーがApp 1、App 2、App Nの間でSSOを取得することを意味しますが、Azure ADエコシステム内の別のAppである必要はありません。上にリンクされている記事では、アプリケーションが非仲介SSOを使用できるようにする方法について説明しています。

ボーナスオプション:MSAL

で私が先に言っV2 ADALがMicrosoft Authentication Library (MSAL)は、システムのブラウザを使用してサポートしていること、それを行うための別の方法があります、サインイン用webviewsを使用しています。簡単に言うと、アプリ内ウェブビューではなく、ChromeまたはChromeのカスタムタブブラウザを端末で使用しています。次に、セッションクッキーがグローバルブラウザに設定され、ブラウザを使用するすべてのアプリケーション(またはエンドユーザーがブラウザにネイティブでサインインした場合)がSSOを取得します。ここでの規定は、some limitationsAzure AD v2.0 endpointに対してMSALが動作するだけでなく、Microsoft Accounts(*。outlook、* .liveなど)を使ってすぐにサインインすることができます。

v2 + MSALの試用に興味がある場合は、Android Guided Walkthroughを試すことをおすすめします。これは、Microsoft Graphを呼び出すアプリケーションの構築方法を説明しています。

関連する問題