{"__v":1,"_id":"56df63ef67ccff1700c99efa","category":{"__v":9,"_id":"56157b750f5ed00d00483dd8","pages":["56157bbcf2d81d0d006c895b","5618eb1bf908460d00daf40e","561949613217dd0d003ab868","561949fced64430d0063f0bb","56194d8088fdee0d00fb9c76","56cddce649abf10b0036a313","56cdded9e538330b0021ab24","56df63ef67ccff1700c99efa","56df659a723dd61700ea1481"],"project":"552829408962f339009a678d","version":"552829408962f339009a6790","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-10-07T20:07:17.140Z","from_sync":false,"order":5,"slug":"ios-sdk","title":"iOS SDK"},"parentDoc":null,"project":"552829408962f339009a678d","user":"55282916d9e1db2d00cd923c","version":{"__v":26,"_id":"552829408962f339009a6790","project":"552829408962f339009a678d","createdAt":"2015-04-10T19:49:20.516Z","releaseDate":"2015-04-10T19:49:20.516Z","categories":["552829418962f339009a6791","55284ed68962f339009a67e1","55286c73391a362500d9b3f4","552918f6b316811900149f59","5529b255d739240d00a3483e","553287590a578a0d008d4ff5","55329385e7d1fa0d003fc946","5550b55200420e0d00d1312f","55525fca953c9c0d00f507d7","559199695631432f002d358a","559d8d96980b801700d5ec7e","55c5e833cccdeb2d004e24b9","55d76504f662951900fc0e7d","55ea213cc62aa02f008229cd","56157b750f5ed00d00483dd8","561981fbac0924170069f4e8","561b8b1ea430930d0037ea67","563417428b86331700b488ca","56cd785bface161300dae0ec","56cdcc6e70db8a15006395f4","56cdf1b749abf10b0036a34a","56cedc8ce50c9c1b00830423","56e97ba8d825061900d1ac83","570d505228e6900e00477229","573614ca2ab52e1700c8e851","57d556a2496a3117004d70cf"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-03-08T23:44:47.649Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":6,"body":"By default ActorSDK supports only Phone-based authentication, but starting from v1.0.280 iOS SDK supports Phone and Email based authentication.\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"title\": \"Servers need to be correctly configured\",\n  \"body\": \"For using required authentication type you need to configure it's support on server first. Our Actor Cloud supports both of them.\"\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Configuring Authentication Type\"\n}\n[/block]\nFor configuring authentication type in iOS SDK\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"// For enabling phone only authentication (default)\\nActorSDK.sharedActor().authStrategy = .PhoneOnly\\n\\n// For enabling email only authentication\\nActorSDK.sharedActor().authStrategy = .EmailOnly\\n\\n// For enabling email only authentication\\nActorSDK.sharedActor().authStrategy = .PhoneEmail\",\n      \"language\": \"swift\"\n    }\n  ]\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Authentication Flow\"\n}\n[/block]\nOn iOS default signup type is using phone number and then user can switch to email-based authentication. This is the best flow for users to signup via phone on iOS and optionally switch to email-one.\nWhen you pick `EmailOnly ` there are no phone-based signups and log ins are available.","excerpt":"Pick suitable authentication type","slug":"ios-authentication","type":"basic","title":"Authentication Types"}

Authentication Types

Pick suitable authentication type

By default ActorSDK supports only Phone-based authentication, but starting from v1.0.280 iOS SDK supports Phone and Email based authentication. [block:callout] { "type": "warning", "title": "Servers need to be correctly configured", "body": "For using required authentication type you need to configure it's support on server first. Our Actor Cloud supports both of them." } [/block] [block:api-header] { "type": "basic", "title": "Configuring Authentication Type" } [/block] For configuring authentication type in iOS SDK [block:code] { "codes": [ { "code": "// For enabling phone only authentication (default)\nActorSDK.sharedActor().authStrategy = .PhoneOnly\n\n// For enabling email only authentication\nActorSDK.sharedActor().authStrategy = .EmailOnly\n\n// For enabling email only authentication\nActorSDK.sharedActor().authStrategy = .PhoneEmail", "language": "swift" } ] } [/block] [block:api-header] { "type": "basic", "title": "Authentication Flow" } [/block] On iOS default signup type is using phone number and then user can switch to email-based authentication. This is the best flow for users to signup via phone on iOS and optionally switch to email-one. When you pick `EmailOnly ` there are no phone-based signups and log ins are available.