Advertisement
Guest User

Untitled

a guest
Oct 27th, 2016
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.62 KB | None | 0 0
  1. import Foundation
  2. import AWSCognitoIdentityProvider
  3. import AWSCognito
  4.  
  5. class AWSCustomIdentityProvider: NSObject, AWSIdentityProviderManager
  6. {
  7.  
  8. private var dict = NSDictionary()
  9.  
  10. func addToken(value:NSString)
  11. {
  12. dict = ["graph.facebook.com":value]
  13. }
  14.  
  15. public func logins() -> AWSTask<NSDictionary>
  16. {
  17. return AWSTask(result: dict)
  18. }
  19. }
  20.  
  21. public func loginButtonDidCompleteLogin(_ loginButton: FacebookLogin.LoginButton, result: FacebookLogin.LoginResult){
  22.  
  23. switch result {
  24. case .failed(let error):
  25. print("FACEBOOK LOGIN FAILED: (error)")
  26. case .cancelled:
  27. print("User cancelled login.")
  28. case .success(_, _, let accessToken):
  29.  
  30.  
  31. let customIdentity = AWSCustomIdentityProvider()
  32. let token = accessToken.authenticationToken
  33. customIdentity.addToken(value: token as NSString)
  34.  
  35. let credentialsProvider = AWSCognitoCredentialsProvider(regionType: REGIONTYPE, identityPoolId: "XXXXXXXXXXXXXXXXXXXXXXX", identityProviderManager:customIdentity)
  36.  
  37. credentialsProvider.clearKeychain()
  38. credentialsProvider.clearCredentials()
  39.  
  40. let serviceConfiguration = AWSServiceConfiguration(region: .usEast1, credentialsProvider: credentialsProvider)
  41. AWSServiceManager.default().defaultServiceConfiguration = serviceConfiguration;
  42.  
  43. credentialsProvider.getIdentityId().continue( { (task: AWSTask!) -> AnyObject! in
  44. if (task.error != nil) {
  45. print("Error: " + (task.error?.localizedDescription)!)// gets called
  46. }
  47. else {
  48. print(task.result)//identityid
  49. }
  50. return nil
  51. })
  52. }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement