2017-10-28 4 views
0

Ich möchte zu Yahoo Fantasy Sports Daten eines Benutzers lesen und schreiben.OAuth2 mit Yahoo API

Ich versuche, über die Yahoo API mit OAuthSwift Zugang zu erhalten.

Mein OAuthSwift Objekt sieht wie folgt aus:

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" 
) 

Und ich führen Sie es wie folgt aus:

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

Ich habe eine Instanz der App auf Yahoos Entwickler Website erstellt und haben dafür gesorgt, die Callback-Domäne übereinstimmt, die in dem vorherigen Codeausschnitt verwendet:

enter image description here

Meine iOS App bringt erfolgreich die Yahoo Login Erfahrung im Browser auf, aber sobald sich der Benutzer anmeldet es den folgenden Fehler zeigt:

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

enter image description here

Also meine Frage ist: Warum erhalte ich die oberer Fehler beim Versuch, einen Yahoo-Benutzer mit OAuth in Swift zu autorisieren?

Antwort

0

Identity Provider leitet die Clientanwendung mit der im Rückruf angegebenen URL um. Versuchen Sie, die Callback-URL zum Authentifizierungsendpunkt Ihrer Anwendung zu ändern. Ich habe mit callbackURL: "http://127.0.0.1:xxxx/auth/yahoo/callback" getestet und verwendet, um zu arbeiten. Und natürlich sollte die konfigurierte Callback-Domain mit der Domain in der URL übereinstimmen.

+0

Hallo, ich habe das als Callback-URL verwendet und bekomme immer noch den gleichen Fehler. – vikzilla

+0

Fehlt Ihnen der Endpunkt für die Weiterleitung? Sie könnten dieses Dokument [OAuth2 in Python] (https://goodcode.io/static/media/OAuth2-edited.pdf) verwenden, um Ihren Code zu überprüfen. Ich hatte im Frühjahr implementiert, und so hatte ich einen Authentifizierungsfilter auf den Pfad '/ Yahoo/Callback' für die Bearbeitung der Weiterleitung. – Senthil