2016-08-05 18 views
0

Ich versuche, Facebook-Anmeldeinformationen zu verwenden, um AWS anmelden auf. Ich habe eine föderierte Identität eingerichtet, indem ich Facebook als meinen sozialen Identitätsanbieter für Amazon Cognito verwende, aber aus irgendeinem Grund nicht authentifiziert. Die Docs auf Amazon sind nicht auf dem neuesten Stand, also bin ich mir nicht sicher, was ich tun soll.ios swift AWS cognito und Facebook-Authentifizierung

Nachfolgend finden Sie einige SWIFT-Code aus dem ios App:

let token = FBSDKAccessToken.currentAccessToken().tokenString 

    let provider = MyProvider(tokens: [AWSIdentityProviderFacebook: token]) 


    let credentialsProvider = AWSCognitoCredentialsProvider(regionType: region, identityPoolId: poolId, identityProviderManager: provider) 


    let configuration = AWSServiceConfiguration(region: region, credentialsProvider:credentialsProvider) 

    AWSServiceManager.defaultServiceManager().defaultServiceConfiguration = configuration 

    let id = credentialsProvider.getIdentityId() 

Hier wird die MyProvider Klasse:

import Foundation 
import AWSCognitoIdentityProvider 

class MyProvider:NSObject, AWSIdentityProviderManager{ 
    var tokens : [NSString : NSString]? 
    init(tokens: [NSString : NSString]) 
    { 
     self.tokens = tokens 
    } 
    @objc func logins() -> AWSTask { 

     return AWSTask(result: tokens) 
    } 
} 

ich in der Lage bin ein Token von Facebook und Login zu bekommen, aber wenn ich diese passieren Token Cognito bekomme ich einen Fehler wie „NotAuthorizedException“ „Token ist nicht von einem unterstützten Anbieter dieser Identität Pool.“ Der Pool-ID und Bereich I auf die, die auf Amazon Cognito zu AWSCognitoCredentialsProvider Spiel passieren, die Methode, die ich in MyProvider definiert wird aufgerufen. Wenn jemand es zur Arbeit gebracht hat, teilen Sie bitte mit, was Sie getan haben, damit es funktioniert. Ich werde jeden Rat und jede Hilfe zu schätzen wissen!

Antwort

0

irgendwie mein Problem gelöst. Alles, was ich getan habe, wurde mein Identitätspool und Facebook App gelöscht und neue erstellt. Es funktioniert jetzt gut.

0

Der Schlüssel in Ihrer Logins-Karte sollte graph.facebook.com sein. Versuchen Sie es mit AWSCognitoLoginProviderKey.Facebook.rawValue statt AWSIdentityProviderFacebook

+1

AWSCognitoLoginProviderKey.Facebook.rawValue ist – plot

+0

Hallo veraltet Haben Sie Facebook Login über AWS umgesetzt. Ich kämpfe darum, dies zu implementieren, bitte hilf mir dabei. – vijay

+0

Die schiere Menge an Code und Einrichtung erforderlich Cognito zu verwenden ist Geist weht. Ich fand Firebase viel schlauer und einfacher in Swift zu integrieren. – Annjawn

Verwandte Themen