2017-10-28 18 views
0

ユーザーのYahoo Fantasy Sportsデータを読み書きします。OAuth2 with Yahoo API

私はYahoo APIOAuthSwiftを使ってアクセスしようとしています。

マイOAuthSwiftオブジェクトは次のようになります。

let oauth2Swift = OAuth2Swift(
    consumerKey: "*****", 
    consumerSecret: "*****", 
    authorizeUrl: "https://api.login.yahoo.com/oauth2/request_auth", 
    accessTokenUrl: "https://api.login.yahoo.com/oauth2/get_token", 
    responseType: "code" 
) 

そして、私はこのようにそれを実行します。私はYahooの開発者向けウェブサイト上のアプリのインスタンスを作成したとしてください作った

self.oauth2Swift.authorize(withCallbackURL: "com.me.myapp", scope: "fspt-w", state: "", success: { (cred, response, params) in 
     print("✅ success") 
    }) { (error) in 
     print(" error") 
    } 

コールバックドメインは、前のコードスニペットで使用されているものと一致します。

enter image description here

私のiOSアプリが正常にブラウザでYahooのログイン経験をもたらし、しかし、その中にユーザーがログインした後、次のエラーを示しています。

Developers: Please check the redirect URI in your request and submit again.

enter image description here

をだから私の質問は:なぜ私は取得しています上記のエラーはSwiftのOAuthでYahooユーザーを認証しようとしていますか?

答えて

0

アイデンティティプロバイダは、コールバックで指定されたURLを持つクライアントアプリケーションにリダイレクトします。コールバックURLをアプリケーションの認証エンドポイントに変更してみてください。私はcallbackURL: "http://127.0.0.1:xxxx/auth/yahoo/callback"でテストしていました。また、設定されたコールバックドメインがURLのドメインと一致する必要があります

+0

こんにちは、コールバックURLとして使用しましたが、残念ながら同じエラーが発生しています – vikzilla

+0

リダイレクト処理のエンドポイントがありませんか?この文書[PythonのOAuth2](https://goodcode.io/static/media/OAuth2-edited.pdf)を使用してコードをクロスチェックすることができます。私はSpringで実装していたので、リダイレクトを処理するためのパス '/ yahoo/callback'に認証フィルタがありました。 – Senthil