Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Foundation
- import AWSCognitoIdentityProvider
- import AWSCognito
- class AWSCustomIdentityProvider: NSObject, AWSIdentityProviderManager
- {
- private var dict = NSDictionary()
- func addToken(value:NSString)
- {
- dict = ["graph.facebook.com":value]
- }
- public func logins() -> AWSTask<NSDictionary>
- {
- return AWSTask(result: dict)
- }
- }
- public func loginButtonDidCompleteLogin(_ loginButton: FacebookLogin.LoginButton, result: FacebookLogin.LoginResult){
- switch result {
- case .failed(let error):
- print("FACEBOOK LOGIN FAILED: (error)")
- case .cancelled:
- print("User cancelled login.")
- case .success(_, _, let accessToken):
- let customIdentity = AWSCustomIdentityProvider()
- let token = accessToken.authenticationToken
- customIdentity.addToken(value: token as NSString)
- let credentialsProvider = AWSCognitoCredentialsProvider(regionType: REGIONTYPE, identityPoolId: "XXXXXXXXXXXXXXXXXXXXXXX", identityProviderManager:customIdentity)
- credentialsProvider.clearKeychain()
- credentialsProvider.clearCredentials()
- let serviceConfiguration = AWSServiceConfiguration(region: .usEast1, credentialsProvider: credentialsProvider)
- AWSServiceManager.default().defaultServiceConfiguration = serviceConfiguration;
- credentialsProvider.getIdentityId().continue( { (task: AWSTask!) -> AnyObject! in
- if (task.error != nil) {
- print("Error: " + (task.error?.localizedDescription)!)// gets called
- }
- else {
- print(task.result)//identityid
- }
- return nil
- })
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement