1

Yahoo Id 経由でモバイル アプリへのログ記録を有効にするのに苦労しています。OAuthWebSecurity を使用し、facebook、gmail、windows、twitter、yahoo によるログ記録を有効にする 1 つの動作中の Web アプリケーションがあります。私の仕事は、Web アプリケーションの機能の一部を備えたモバイル アプリケーションを作成することです。

ウェブアプリケーション:

  • MVC4
  • OAuthWebセキュリティ
  • モバイル アプリケーション用に作成された WebApi コントローラーは、ログインしたユーザーを検証し、DB からデータを取得します。

モバイルアプリ:

  • コルドバのイオンビルド
  • OAuth の場合、OAuth nq-cordova プラグインを使用しています (yahoo プロバイダーのロジックを提供しないため、既存の方法に基づいて独自に作成しました)
  • プロバイダーのエンドポイントを照会するための angular.js $http サービス (必要な場合)

私のモバイルアプリで設計された(私ではなく)認証フローは次のとおりです。

モバイル ログイン画面 -> プロバイダー ログイン ウィンドウを選択 -> 認証 -> OAuth access_token および/または user_id でリダイレクト -> WebApi にクエリを実行してユーザー ID を確認 -> DB からデータを取得

Yahoo 認証エンドポイントを照会した後: https://api.login.yahoo.com/oauth2/request_auth?client_id= ' + clientId + '&redirect_uri=' + redirectUri' + '&response_type=token

応答は次のとおりです: { access_token: 'my token in here' token_type: bearer, xoauth_yahoo_guid: 'my guid in here' }

私の WebApi ユーザー検証方法では、OAuthWebSecurity を使用します。

(OAuthWebSecurity.Login(provider, providerUserId, createPersistentCookie: false)

xoauth_yahoo_guid (yahoo の認証エンドポイントの応答フィールド) から「providerUserId」値を渡そうとしましたが、うまくいきません。

Web アプリケーションのデバッグ中に、同じ yahoo アカウントのメソッド var result = OAuthWebSecurity.VerifyAuthentication()がプロパティで Yahoo openId を返すことに気付きましたresult.ProviderUserId

私が間違っていることを誰かにアドバイスできますか?

お時間をいただきありがとうございます。

4

0 に答える 0