問題タブ [windows-live-id]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
900 参照

http - オンプレミスWebアプリケーションのMicrosoftLiveOAuthリダイレクトURLを定義するにはどうすればよいですか?

OAuthを使用すると、ClientIDとredirect_urlは強力に接続されます。redirect_urlごとに個別のClientIDが必要です。これは、複数のドメインに複数のデプロイメントがあるオンプレミスアプリケーションの問題です。

不明なドメインからOAuth認証を実装する方法はありますか?私が思いつくことができる唯一の代替手段は、redirect_urlとして使用でき、その後、顧客ドメインへの新しい無制限のリダイレクトを実行できる、固定ドメインの専用の「認証サーバー」を必要とします。

デスクトップアプリケーションは、ダミーのredirect_urlを提供し、専用のWebフレームでライブ認証ウィンドウをホストして、リダイレクト要求をリッスンできるようにすることで、これを回避します。これにより、URL自体が有効でない場合でも、リダイレクトURLから認証コードを読み取ることができます。クロスドメインの制限により、これはWebブラウザでは不可能だと思います。

基本的に、オンプレミスWebアプリケーションでSkyDriveパブリッシングをサポートするにはOAuthが必要です。

0 投票する
1 に答える
353 参照

cloud-hosting - ACS スロー例外からフェデレーション メタデータを追加

ADFS 2.0 を使用する Azure クラウド サービスに Web アプリケーションがあります。Windows Live Id などの相手の識別子を追加したい。web.config には、asp.net_regis ユーティリティで暗号化された接続文字列が含まれています。新しい ID プロバイダーの参照なしでクラウド サービスにデプロイすると正常に動作しますが、これらの新しい参照を追加すると、次の例外が発生します:セクションは保護されているとマークされていますが、正しい形式ではありません。<EncryptedData> 子ノードのみを含める必要があります。暗号化に使用した証明書を、ACS ポータルの [Token Decription] タブに含めました。なぜこのエラーが発生するのですか?

0 投票する
1 に答える
847 参照

asp.net-mvc - DotNetOpenAuth が Microsoft アカウント (Live ID) を使用する方法をより適切に制御するにはどうすればよいですか?

DotNetOpenAuthの新しいOAuthWebSecurityラッパーを使用して、ユーザーが Microsoft アカウント (別名 Windows Live ID) で MVC4 アプリケーションにログインできるようにしています。

Microsoft クライアントを登録しました。

それはすべて機能しており、そのシンプルさが気に入っています。しかし、それが行っていることをどのように洗練するのですか?

Microsoft アカウントでのログインを選択すると、ユーザーはログインを求める画面に移動します。

第一歩

彼らがログインするときに、「サインインしたままにする」ボックスをチェックできるようにしたい.

Microsoft は、アクセスを許可するように求めます。

ステップ2

しかし、私は実際にはそれほど多くのアクセスを望んでいません。私が欲しいのは彼らの名前とメールアドレスだけです。そして多分彼らの写真。私は確かに彼らの連絡先や友人にアクセスする必要はありませんし、アクセスしたくもありません。これは私のユーザーを怖がらせるでしょう。

これを制御するために、どこで OAuthWebSecurity または DotNetOpenAuth にパラメーターを渡すことができますか?

したがって、ユーザーが [はい]をクリックすると、すべて問題ありません。ただし、彼らが私のサイトを離れて戻ってきたとき、「サインインしたままにする」オプションが尊重されるべきでした. そうではありません。代わりに、次のように表示されます。

ステップ 3

次のメッセージがわかりません。

機密情報にアクセスしているため、パスワードを確認する必要があります。

何の機密情報?私が始めたくなかった連絡先/友達?または、他の何か?

この 2 つの問題を回避して、アプリケーションをより使いやすくするにはどうすればよいですか?

0 投票する
2 に答える
636 参照

asp.net-mvc-3 - AZURE ACS - Windows Live ID: 一意のユーザーを識別する方法

私の Web アプリケーションでは、認証に Azure ACS を使用しています。[1]: http://msdn.microsoft.com/en-us/library/hh127794.aspxに従ってコードを実装します。Windows Live ユーザーのみを認証します。ACS がユーザー名、電子メールなどのユーザー情報を提供していないことがわかりました。

このコードによって認証が検証されました。しかし、ユーザーを追跡するには一意の識別子が必要です。

追跡ユーザーを維持するための一意の ID を探しています。

これは、次のような応答を返します

<NameID>xWTQfgjexVZ4sturSHZmdppGj/am1IweOYHgc139TrE=</NameID>このレスポンスには独自の価値が含まれていると思いました。しかし、それはPCごとに異なるようです。

これを達成する方法を教えてください。

前もって感謝します!

0 投票する
0 に答える
107 参照

sharepoint - Office 365 での SharePoint 2010 Foundation 認証

AWS (Amazaon Web Services) サーバーに SharePoint 2010 Foundation をインストールしています。また、office365 (メール ホスト プラン アカウント) も持っています。ユーザーが SharePoint サイトにアクセスしようとしたときに、認証のために Office 365 にリンクすることはできますか? つまり、Office365 を共有ポイントでの Windows Live ID と同様の認証プロバイダーとして使用できますか。

どんなポインタでも役立ちます。

0 投票する
0 に答える
1270 参照

asp.net-mvc-4 - ASP.NET MVC4 OAuth Microsoft (ライブ) アカウント - ユーザーのメールを取得する

ASP.NET MVC4 Web サイトに Microsoft ID を使用して OAuth 認証を実装しようとしています。これまでのところ、Microsoft アカウントでのログインは機能しています。しかし、追加のユーザー データ (具体的には、ユーザー アカウントまたは優先メール アドレス) を取得する必要があります。

メール サービスとして live.domains を使用しています。そこで、自分のドメインでユーザー向けのメールを作成しました。次に、これらのユーザーがメール アカウントを使用して (OAuth を使用して) サイトにログインできるようにします。

注:私のWebサーバーはasp.net 4.5をサポートしていないため、4.0で立ち往生しており、ASP.NET用のLiveSDKを使用できません(私の知る限り)...

アイデアは次のようなものです:

  • 組み込みの OAuth 機能を使用してユーザーをログインさせる
  • アカウントのメールアドレスを取得し、それが私のドメインからのメールかどうかを確認します
  • 私のドメインからのものでない場合は、登録を拒否します
  • 電子メールが私のドメインからのものである場合、ユーザーが登録して通常どおり続行できるようにします

デフォルトを参照として使用してカスタム Microsoft OAuth2Client を作成し (デフォルト クライアントはgithubにあります)、必要なスコープ (wl.basic、wl.signin、wl.emails) を指定しました。コードの残りの部分はほとんど同じです。

GetUserData 関数は、追加のユーザー データ (名前、性別など) を取得するために使用され、機能します。デフォルト クライアントからのコード:

}

私の理解では、これは(指定されたスコープに基づいて)要求されたすべてのユーザーデータを取得するため、応答に電子メールも含める必要があります。残念ながら、たとえそうであっても、応答ストリームからその情報を取得する方法がわかりません...

では、応答からの電子メールをどのように読むことができますか (正しい軌道に乗っている場合)。

0 投票する
1 に答える
1665 参照

oauth-2.0 - Live Connect OAuth2 の深刻なリプレイ攻撃の問題? 認証コードを複数回使用できるのはなぜですか?

まず、お時間をいただきありがとうございます。Live Connect の OAuth2 API について深刻な懸念があります。

私はこれに従い、DotNetOpenAuth を使用して、フェデレーション ID およびアクセス管理システムの LiveId 認証/承認を実装/統合します。

http://msdn.microsoft.com/en-us/library/live/hh243647.aspx#authcodegrant

すべてがかなり長い間正常に機能しています。しかし、現在、LiveId ログイン モジュールのリプレイ アタックの問題を修正する際に深刻な問題が発生しています。上記の記事の Authorization code grant フローを見てみましょう。

"*4. ユーザー エージェントは、リダイレクト URI を使用してクライアントを呼び出します。このリダイレクト URI には、クライアントから提供された承認コードと任意のローカル状態が含まれます。例: ...Callback.htm?code=AUTHORIZATION_CODE. 5. クライアントが要求する認証用のクライアント資格情報を使用して認可サーバーのトークン エンドポイントからアクセス トークンを取得し、前の手順で受け取った認可コードを含めます。クライアントには、検証用の認可コードを取得するために使用されたリダイレクト URI が含まれます。*"

ステップ 4 の直後に、Live Connect OAuth2 サーバーは、次のように認証コードと状態を使用してコールバック エンドポイントに戻ります。

https://ssss.myapp.com:443/liveid/consume.idp?code=406dd558-0cda-50cc-bd37-d964ec29fbb3&state=uvygsnd3gba0jwi315kdyccs

問題は、認証コードが複数回使用される可能性があることです。したがって、次のシナリオのように、深刻なリプレイ攻撃の問題につながります。

  1. ユーザー A がアプリケーションにログインするときに LiveId を選択してサインインすると、LiveId ログイン ページにリダイレクトされます。次にログインすると、Live Connect OAuth2 サーバーは code=xxx&state=yyy...user A でコールバック エンドポイントに戻り、この認証コードを使用してアクセス トークンを取得しました...

  2. ユーザー B は、アプリケーションにログインするときに LiveId を選択してサインインし、LiveId のログイン ページにログインしました。Live Connect OAuth2 サーバーが code=kkk&state=ggg を返すようになりました

今回は、Webscarab などのツールを使用して応答/要求をキャプチャし、OAuth2 サーバーからの戻り値を code=xxx&state=ggg に変更します (古い認証コードはユーザー B ではなくユーザー A に与えられました)。その後、このリプレイ認証コードを使ったアクセストークンのリクエストは順調に進みました。そして、何を推測しますか?以前にユーザー A に与えられた ACCESS TOKEN を再度受け取りました...そして最終的に、ユーザー B はユーザー A として私のアプリケーションにログインできます。

上記と同じリプレイ攻撃を Google OAuth2 サーバーに適用すると、サーバーから不正なリクエスト エラーが返され、Google OAuth2 承認コードが 2 回以上使用されないことに注意してください。コード フローというか、Google ログインと LiveId ログインの実装はまったく同じです。

DotNetOpenAuth.OAuth2.WebServerClient を使用して、Google と LiveId の両方の OAuth2 認証フローを実装しました。繰り返しますが、まったく同じコードですが、Google OAuth2 サーバーは認証コードを再利用すると「不正な要求」を返しましたが、LiveId は以前のユーザーの古いアクセス トークンを返しました。

これは深刻なセキュリティ上の問題です。皆さんがこれについていくつかのアイデアを持っていることを願っています. またはうまくいけば、私はいくつかの点で間違っています。指摘してください。

Phuc Leさん、どうもありがとう。

0 投票する
1 に答える
38 参照

asp.net - ダウンロードした実行可能ファイルにライブ ID を関連付ける

私は、マシン上で実行でき、ユーザーの承認があればシステム レジストリにアクセスできる実行可能ファイルをダウンロードするために使用できる Web ページを作成しています。ユーザーが実行可能ファイルをダウンロードして実行する前に、サイトにはライブ ID 認証があります。この実行可能ファイルは、インストールされているメトロ アプリのリストのシステム レジストリを読み取ります。次に、実行可能ファイルは、スキャンからクラウド内のデータベースにデータをアップロードします。実行可能ファイルが、ユーザーが Web ページにログインしたライブ ID にアクセスする方法はありますか? live-id + スキャンの結果をデータベースにアップロードしたいと思います。データベースは、ユーザーのライブ ID からキーオフされます。ユーザーがライブ ID アカウントでローカル マシンにログオンしていない可能性があると想定する必要があります。

この結果を達成するための他の手段と同様に、どんな助けも大歓迎です。

0 投票する
1 に答える
162 参照

windows-phone-8 - Windows8 モバイル アプリでの office365 ログイン

アプリに Windows Live Id 認証を実装しました。それはかなりうまく機能しますが、今は同様のソリューションで会社の office365 を認証したいと考えています。Googleで検索しましたが、これを行う方法が見つかりませんでした。ブランディングは、Messenger、Microsoft アカウント、SkyDrive、Outlook の 4 つだけです。

誰かが同様のことをしたことがありますか?これは可能ですか?