1

Visual Studio 2012 の Web アプリケーション テンプレートをベースに単一の Web アプリケーションを作成し、OOB を追加した OAuth をテストしてみました。次のリンクにアクセスして、アプリケーションを登録し、クライアント ID を取得しました。

https://manage.dev.live.com/Applications/Index

OpenAuth.AuthenticationClients.AddMicrosoft は常に次を生成します: 入力パラメーター 'redirect_uri' に指定された値が無効です。値は、スキームが http:// または https:// である絶対 URL である必要があります。

ですが、この記事に従えば問題なくログインできます。(iframeなどを追加することにより)

http://weblogs.asp.net/dwahlin/archive/2007/08/17/integrate-windows-live-id-authentication-into-your-website.aspx

4

2 に答える 2

1

短い答え:

1) hosts ファイルを更新し、次の行を追加します: "127.0.0.1 mynewApplication.test"

2) manage.dev.live.com で、「リダイレクト ドメイン」を http://mynewApplication.test:[PORT] に設定します。

3) アプリケーションをローカルで実行します。ブラウザに http://mynewApplication.test:[PORT] があることを確認してください。

4) マイクロソフトでログイン

これは私にとってはうまくいきました。

長い答え:

アプリをローカルでテストする場合は、Ms アプリケーション管理ツールで "Redirect Domain" を一意のドメイン名に指定する必要があるようです。これは、hosts ファイルで維持する必要があります。「localtest.me」のような共有ドメイン名を設定することはできなくなりました。

フィドラーを見ると、MVC が参照 URL (ブラウザーに表示されている現在の URL) を oauth 要求に追加していることがわかります。そのため、クリック ボタンを送信して Microsoft oauth にリダイレクトする場合は、ブラウザーが、App Redirect ドメインに登録された同じドメイン名から現在のページを読み込んでいることを確認してください。

于 2013-03-18T21:30:45.173 に答える
0

手順:

  1. アプリケーションを次の場所に登録してください: Windows Live アプリケーション管理サイト。Windows Live へのアプリケーションの登録を参照してください。
  2. [API 構成] で、ルート ドメインを入力します。次に例を示します。

www.yourdomain.com

  1. [API 構成] で、アプリケーションの URL を入力します。以下を含めることを忘れないでください: Account/RegisterExternalLogin

www.yourdomain.com/YourApp/Account/RegisterExternalLogin

  1. AuthConfig.vb を編集し、OpenAuth.AuthenticationClients.AddMicrosoft のコメントを外して、 Windows Live アプリケーション管理サイトからclientIdclientSecretをコピーします

    OpenAuth.AuthenticationClients.AddMicrosoft(
        clientId:="0000000000000", 
        clientSecret:="x0-0000000000000000")
    
  2. www.yourdomain.com/YourApp でアプリケーションを公開します

PS。Web.config (DefaultConnection)で connectionString を更新することを忘れないでください。

于 2015-02-23T16:53:59.063 に答える