2

Azure B2Cの暗黙のフロートークン戦略を使用して、URIのサインイン/サインインログインを介して私にトークンを与えるようにアプリケーションをセットアップしました。これは正常に動作し、トークンは問題なく許可されます。Auth APIを使用したAzure B2C暗黙のフローにより、openidスコープの無効なトークンが返される

しかし、クライアントはそのトークンの有効期限が切れたときに、マイクロソフトが提案する文書化の回避策はここに記載されているようauthorizeエンドポイントへの呼び出しを行うインラインフレームを使用することで、SPAです:Get Access Tokens残念ながら

https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?client_id={my_client_id}&response_type=token&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F&scope=openid&response_mode=fragment&state=12345&nonce=678910&prompt=none&domain_hint=organizations&[email protected] 

このエンドポイントでopenidスコープを使用してid_tokenを要求すると、実際に返されたトークンは私のAPIのB2Cを介して承認されません。デコーダでJWTトークンを調べると、トークン自体がB2Cからのサインイン後のものと異なって見えることも示されます。

私はこのドキュメントがAzure Active DirectoryとそのB2C doesn't support SPAs at this point用であることを認識していますが、これまでMicrosoftの代理人からこれがうまくいくと聞いていました。

これは実際にはまだサポートされていませんか?それ以外の場合は、SPAの回避策はありますか?

+0

彼女にも同様の投稿があります:http://stackoverflow.com/questions/33975012/authenticating-against-a-webapi-using-azure-b2c-from-an-spa-angular-and-adal-js/ 38035044#38035044 –

+0

私はすでにその投稿を見ました。この質問はADALに関するものではなく、トークンエンドポイントに関するものです。私はSPA自体を開発していないので、それを支配していない。 – starmandeluxe

+0

あなたはあなたのAPIを保護する方法の詳細を教えていただけますか? –

答えて

1

最近の多くのアプリでは、主にJavaScriptで書かれた1ページのアプリのフロントエンドがあります。 AngularJS、Ember.js、Durandalなどのフレームワークを使用することがよくあります。一般的に利用可能なAzure ADサービスは、OAuth 2.0暗黙のフローを使用してこれらのアプリケーションをサポートします。しかし、Azure AD B2Cではまだこのフローが利用できません。

この機能は、現在の文書ではサポートされていません。 Azure AD B2Cでこの機能をサポートしたい場合は、hereから投票できます。

+0

ありがとう、私は実際にそれを投票する場所を探していました。追加された鉱山! – starmandeluxe

+0

昨日、このリクエストが完了しました。すばらしいです!しかし、私はクライアント側からサイレントリフレッシュを行う方法を正確には分かっていません...それについての唯一の情報はこの1行です: "サイレントリフレッシュトークンを取得する前にトークンを更新してください。サインインエンドポイントをもう一度使用するだけですか? – starmandeluxe

関連する問題