Skip to content

Commit

Permalink
added Twitter and Facebook login (#97)
Browse files Browse the repository at this point in the history
* added Twitter and Facebook login

* added the new features to CHANGELOG.md file

* added the new features to CHANGELOG.md file

* added Facebook graph API login, updated Twitter login

* Fix errors due to merge and add merge testcases

* remove SwiftLint from ci

* Apply suggestions from code review

accepted all suggested changes

Co-authored-by: Corey <[email protected]>

* Add more missing tests

* remove extra throw and increase codecov

* Switch twitterId to userId. Add the rest of the test cases

* fix swiftlint warnnings

* Merge main branch and nits

* nits

* Make twitter screen name optional

Co-authored-by: Corey's iMac <[email protected]>
  • Loading branch information
abs8090 and cbaker6 authored Mar 21, 2021
1 parent 403a02b commit fa74a7c
Show file tree
Hide file tree
Showing 10 changed files with 3,094 additions and 2 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@
[Full Changelog](https://github.com/parse-community/Parse-Swift/compare/1.2.1...main)
* _Contributing to this repo? Add info about your change here to be included in the next release_

__New features__
- Add ParseTwitter and ParseFacebook authentication ([#97](https://github.com/parse-community/Parse-Swift/pull/97)), thanks to [Abdulaziz Alhomaidhi](https://github.com/abs8090).

### 1.2.1
[Full Changelog](https://github.com/parse-community/Parse-Swift/compare/1.2.0...1.2.1)

Expand Down
52 changes: 52 additions & 0 deletions ParseSwift.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -312,6 +312,26 @@
7FFF552E2217E72A007C3B4E /* AnyEncodableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FFF552B2217E729007C3B4E /* AnyEncodableTests.swift */; };
7FFF552F2217E72A007C3B4E /* AnyCodableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FFF552C2217E729007C3B4E /* AnyCodableTests.swift */; };
7FFF55302217E72A007C3B4E /* AnyDecodableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7FFF552D2217E729007C3B4E /* AnyDecodableTests.swift */; };
89899CCF2603CE3A002E2043 /* ParseFacebook.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89899CCE2603CE3A002E2043 /* ParseFacebook.swift */; };
89899CD02603CE3A002E2043 /* ParseFacebook.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89899CCE2603CE3A002E2043 /* ParseFacebook.swift */; };
89899CD12603CE3A002E2043 /* ParseFacebook.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89899CCE2603CE3A002E2043 /* ParseFacebook.swift */; };
89899CD22603CE3A002E2043 /* ParseFacebook.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89899CCE2603CE3A002E2043 /* ParseFacebook.swift */; };
89899D282603CF35002E2043 /* ParseTwitter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89899CC02603CE2A002E2043 /* ParseTwitter.swift */; };
89899D322603CF35002E2043 /* ParseTwitter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89899CC02603CE2A002E2043 /* ParseTwitter.swift */; };
89899D332603CF36002E2043 /* ParseTwitter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89899CC02603CE2A002E2043 /* ParseTwitter.swift */; };
89899D342603CF36002E2043 /* ParseTwitter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89899CC02603CE2A002E2043 /* ParseTwitter.swift */; };
89899D592603CF3E002E2043 /* ParseTwitterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89899CDC2603CE73002E2043 /* ParseTwitterTests.swift */; };
89899D632603CF3E002E2043 /* ParseTwitterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89899CDC2603CE73002E2043 /* ParseTwitterTests.swift */; };
89899D642603CF3F002E2043 /* ParseTwitterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89899CDC2603CE73002E2043 /* ParseTwitterTests.swift */; };
89899D772603CF66002E2043 /* ParseFacebookTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89899CF32603CE9D002E2043 /* ParseFacebookTests.swift */; };
89899D812603CF67002E2043 /* ParseFacebookTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89899CF32603CE9D002E2043 /* ParseFacebookTests.swift */; };
89899D822603CF67002E2043 /* ParseFacebookTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89899CF32603CE9D002E2043 /* ParseFacebookTests.swift */; };
89899D9F26045998002E2043 /* ParseTwitterCombineTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89899D9E26045998002E2043 /* ParseTwitterCombineTests.swift */; };
89899DA026045998002E2043 /* ParseTwitterCombineTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89899D9E26045998002E2043 /* ParseTwitterCombineTests.swift */; };
89899DA126045998002E2043 /* ParseTwitterCombineTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89899D9E26045998002E2043 /* ParseTwitterCombineTests.swift */; };
89899DB526045DC4002E2043 /* ParseFacebookCombineTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89899DB426045DC4002E2043 /* ParseFacebookCombineTests.swift */; };
89899DB626045DC4002E2043 /* ParseFacebookCombineTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89899DB426045DC4002E2043 /* ParseFacebookCombineTests.swift */; };
89899DB726045DC4002E2043 /* ParseFacebookCombineTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 89899DB426045DC4002E2043 /* ParseFacebookCombineTests.swift */; };
911DB12C24C3F7720027F3C7 /* MockURLResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = 911DB12B24C3F7720027F3C7 /* MockURLResponse.swift */; };
911DB12E24C4837E0027F3C7 /* APICommandTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 911DB12D24C4837E0027F3C7 /* APICommandTests.swift */; };
911DB13324C494390027F3C7 /* MockURLProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 911DB13224C494390027F3C7 /* MockURLProtocol.swift */; };
Expand Down Expand Up @@ -614,6 +634,12 @@
7FFF552B2217E729007C3B4E /* AnyEncodableTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AnyEncodableTests.swift; sourceTree = "<group>"; };
7FFF552C2217E729007C3B4E /* AnyCodableTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AnyCodableTests.swift; sourceTree = "<group>"; };
7FFF552D2217E729007C3B4E /* AnyDecodableTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AnyDecodableTests.swift; sourceTree = "<group>"; };
89899CC02603CE2A002E2043 /* ParseTwitter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParseTwitter.swift; sourceTree = "<group>"; };
89899CCE2603CE3A002E2043 /* ParseFacebook.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParseFacebook.swift; sourceTree = "<group>"; };
89899CDC2603CE73002E2043 /* ParseTwitterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParseTwitterTests.swift; sourceTree = "<group>"; };
89899CF32603CE9D002E2043 /* ParseFacebookTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParseFacebookTests.swift; sourceTree = "<group>"; };
89899D9E26045998002E2043 /* ParseTwitterCombineTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParseTwitterCombineTests.swift; sourceTree = "<group>"; };
89899DB426045DC4002E2043 /* ParseFacebookCombineTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ParseFacebookCombineTests.swift; sourceTree = "<group>"; };
911DB12B24C3F7720027F3C7 /* MockURLResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockURLResponse.swift; sourceTree = "<group>"; };
911DB12D24C4837E0027F3C7 /* APICommandTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APICommandTests.swift; sourceTree = "<group>"; };
911DB13224C494390027F3C7 /* MockURLProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockURLProtocol.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -791,6 +817,8 @@
7044C21F25C5E0160011F6E7 /* ParseConfigCombineTests.swift */,
70D1BE0625BB2BF400A42E7C /* ParseConfigTests.swift */,
F971F4F524DE381A006CB79B /* ParseEncoderTests.swift */,
89899DB426045DC4002E2043 /* ParseFacebookCombineTests.swift */,
89899CF32603CE9D002E2043 /* ParseFacebookTests.swift */,
7044C1F825C5CFAB0011F6E7 /* ParseFileCombineTests.swift */,
705A99F8259807F900B3547F /* ParseFileManagerTests.swift */,
705727882593FF8000F0ADD5 /* ParseFileTests.swift */,
Expand All @@ -811,6 +839,8 @@
70D1BD8625B8C37200A42E7C /* ParseRelationTests.swift */,
7004C22D25B69077005E0AD9 /* ParseRoleTests.swift */,
70C5504525B40D5200B5DBC2 /* ParseSessionTests.swift */,
89899D9E26045998002E2043 /* ParseTwitterCombineTests.swift */,
89899CDC2603CE73002E2043 /* ParseTwitterTests.swift */,
7016ED3F25C4A25A00038648 /* ParseUserCombineTests.swift */,
70C7DC1D24D20E530050419B /* ParseUserTests.swift */,
7FFF552A2217E729007C3B4E /* AnyCodableTests */,
Expand Down Expand Up @@ -984,6 +1014,8 @@
children = (
707A3C1F25B14BCF000D215C /* ParseApple.swift */,
70386A3725D998D90048EC1B /* ParseLDAP.swift */,
89899CC02603CE2A002E2043 /* ParseTwitter.swift */,
89899CCE2603CE3A002E2043 /* ParseFacebook.swift */,
);
path = "3rd Party";
sourceTree = "<group>";
Expand Down Expand Up @@ -1562,7 +1594,9 @@
70C550A025B4A9F600B5DBC2 /* RemoveRelation.swift in Sources */,
F97B463B24D9C74400F4A88B /* API+Commands.swift in Sources */,
F97B464624D9C78B00F4A88B /* ParseOperation.swift in Sources */,
89899CCF2603CE3A002E2043 /* ParseFacebook.swift in Sources */,
705A9A2F25991C1400B3547F /* Fileable.swift in Sources */,
89899D342603CF36002E2043 /* ParseTwitter.swift in Sources */,
F97B464A24D9C78B00F4A88B /* Delete.swift in Sources */,
70647E8E259E3375004C1004 /* LocallyIdentifiable.swift in Sources */,
F97B460624D9C6F200F4A88B /* ParseUser.swift in Sources */,
Expand Down Expand Up @@ -1621,12 +1655,15 @@
buildActionMask = 2147483647;
files = (
911DB13624C4FC100027F3C7 /* ParseObjectTests.swift in Sources */,
89899D592603CF3E002E2043 /* ParseTwitterTests.swift in Sources */,
70CE1D892545BF730018D572 /* ParsePointerTests.swift in Sources */,
89899D772603CF66002E2043 /* ParseFacebookTests.swift in Sources */,
70386A4625D99C8B0048EC1B /* ParseLDAPTests.swift in Sources */,
911DB12E24C4837E0027F3C7 /* APICommandTests.swift in Sources */,
911DB12C24C3F7720027F3C7 /* MockURLResponse.swift in Sources */,
7044C24325C5EA360011F6E7 /* ParseAppleCombineTests.swift in Sources */,
7044C1DF25C5C70D0011F6E7 /* ParseObjectCombine.swift in Sources */,
89899D9F26045998002E2043 /* ParseTwitterCombineTests.swift in Sources */,
70C5504625B40D5200B5DBC2 /* ParseSessionTests.swift in Sources */,
70110D5C2506ED0E0091CC1D /* ParseInstallationTests.swift in Sources */,
7016ED4025C4A25A00038648 /* ParseUserCombineTests.swift in Sources */,
Expand All @@ -1650,6 +1687,7 @@
4AA807701F794C31008CD551 /* KeychainStoreTests.swift in Sources */,
7044C1F925C5CFAB0011F6E7 /* ParseFileCombineTests.swift in Sources */,
70C5502225B3D8F700B5DBC2 /* ParseAppleTests.swift in Sources */,
89899DB526045DC4002E2043 /* ParseFacebookCombineTests.swift in Sources */,
F971F4F624DE381A006CB79B /* ParseEncoderTests.swift in Sources */,
70C7DC2124D20F190050419B /* ParseQueryTests.swift in Sources */,
7044C22D25C5E4E90011F6E7 /* ParseAnonymousCombineTests.swift in Sources */,
Expand Down Expand Up @@ -1697,7 +1735,9 @@
70C550A125B4A9F600B5DBC2 /* RemoveRelation.swift in Sources */,
F97B463C24D9C74400F4A88B /* API+Commands.swift in Sources */,
F97B464724D9C78B00F4A88B /* ParseOperation.swift in Sources */,
89899CD02603CE3A002E2043 /* ParseFacebook.swift in Sources */,
705A9A3025991C1400B3547F /* Fileable.swift in Sources */,
89899D332603CF36002E2043 /* ParseTwitter.swift in Sources */,
F97B464B24D9C78B00F4A88B /* Delete.swift in Sources */,
70647E8F259E3375004C1004 /* LocallyIdentifiable.swift in Sources */,
F97B460724D9C6F200F4A88B /* ParseUser.swift in Sources */,
Expand Down Expand Up @@ -1765,12 +1805,15 @@
buildActionMask = 2147483647;
files = (
709B98512556ECAA00507778 /* ParseEncoderTests.swift in Sources */,
89899D642603CF3F002E2043 /* ParseTwitterTests.swift in Sources */,
709B98532556ECAA00507778 /* ParsePointerTests.swift in Sources */,
89899D822603CF67002E2043 /* ParseFacebookTests.swift in Sources */,
70386A4825D99C8B0048EC1B /* ParseLDAPTests.swift in Sources */,
709B984C2556ECAA00507778 /* APICommandTests.swift in Sources */,
709B984D2556ECAA00507778 /* AnyDecodableTests.swift in Sources */,
7044C24525C5EA360011F6E7 /* ParseAppleCombineTests.swift in Sources */,
7044C1E125C5C70D0011F6E7 /* ParseObjectCombine.swift in Sources */,
89899DA126045998002E2043 /* ParseTwitterCombineTests.swift in Sources */,
70C5504825B40D5200B5DBC2 /* ParseSessionTests.swift in Sources */,
709B98572556ECAA00507778 /* ParseACLTests.swift in Sources */,
7016ED4225C4A25A00038648 /* ParseUserCombineTests.swift in Sources */,
Expand All @@ -1794,6 +1837,7 @@
709B98552556ECAA00507778 /* ParseQueryTests.swift in Sources */,
7044C1FB25C5CFAB0011F6E7 /* ParseFileCombineTests.swift in Sources */,
70C5502425B3D8F700B5DBC2 /* ParseAppleTests.swift in Sources */,
89899DB726045DC4002E2043 /* ParseFacebookCombineTests.swift in Sources */,
709B98502556ECAA00507778 /* KeychainStoreTests.swift in Sources */,
709B98562556ECAA00507778 /* ParseObjectTests.swift in Sources */,
7044C22F25C5E4E90011F6E7 /* ParseAnonymousCombineTests.swift in Sources */,
Expand All @@ -1814,12 +1858,15 @@
buildActionMask = 2147483647;
files = (
70F2E2B6254F283000B2EA5C /* ParseACLTests.swift in Sources */,
89899D632603CF3E002E2043 /* ParseTwitterTests.swift in Sources */,
70F2E2B7254F283000B2EA5C /* ParsePointerTests.swift in Sources */,
89899D812603CF67002E2043 /* ParseFacebookTests.swift in Sources */,
70386A4725D99C8B0048EC1B /* ParseLDAPTests.swift in Sources */,
70F2E2B5254F283000B2EA5C /* ParseEncoderTests.swift in Sources */,
70F2E2C2254F283000B2EA5C /* APICommandTests.swift in Sources */,
7044C24425C5EA360011F6E7 /* ParseAppleCombineTests.swift in Sources */,
7044C1E025C5C70D0011F6E7 /* ParseObjectCombine.swift in Sources */,
89899DA026045998002E2043 /* ParseTwitterCombineTests.swift in Sources */,
70C5504725B40D5200B5DBC2 /* ParseSessionTests.swift in Sources */,
70F2E2BC254F283000B2EA5C /* ParseObjectTests.swift in Sources */,
7016ED4125C4A25A00038648 /* ParseUserCombineTests.swift in Sources */,
Expand All @@ -1843,6 +1890,7 @@
70F2E2BF254F283000B2EA5C /* MockURLProtocol.swift in Sources */,
7044C1FA25C5CFAB0011F6E7 /* ParseFileCombineTests.swift in Sources */,
70C5502325B3D8F700B5DBC2 /* ParseAppleTests.swift in Sources */,
89899DB626045DC4002E2043 /* ParseFacebookCombineTests.swift in Sources */,
70F2E2BB254F283000B2EA5C /* ParseGeoPointTests.swift in Sources */,
70F2E2B8254F283000B2EA5C /* AnyEncodableTests.swift in Sources */,
7044C22E25C5E4E90011F6E7 /* ParseAnonymousCombineTests.swift in Sources */,
Expand Down Expand Up @@ -1890,7 +1938,9 @@
70C550A325B4A9F600B5DBC2 /* RemoveRelation.swift in Sources */,
F97B460D24D9C6F200F4A88B /* Fetchable.swift in Sources */,
F97B45ED24D9C6F200F4A88B /* ParseGeoPoint.swift in Sources */,
89899CD22603CE3A002E2043 /* ParseFacebook.swift in Sources */,
705A9A3225991C1400B3547F /* Fileable.swift in Sources */,
89899D282603CF35002E2043 /* ParseTwitter.swift in Sources */,
F97B45F524D9C6F200F4A88B /* Pointer.swift in Sources */,
70647E91259E3375004C1004 /* LocallyIdentifiable.swift in Sources */,
F97B460924D9C6F200F4A88B /* ParseUser.swift in Sources */,
Expand Down Expand Up @@ -1976,7 +2026,9 @@
70C550A225B4A9F600B5DBC2 /* RemoveRelation.swift in Sources */,
F97B460C24D9C6F200F4A88B /* Fetchable.swift in Sources */,
F97B45EC24D9C6F200F4A88B /* ParseGeoPoint.swift in Sources */,
89899CD12603CE3A002E2043 /* ParseFacebook.swift in Sources */,
705A9A3125991C1400B3547F /* Fileable.swift in Sources */,
89899D322603CF35002E2043 /* ParseTwitter.swift in Sources */,
F97B45F424D9C6F200F4A88B /* Pointer.swift in Sources */,
70647E90259E3375004C1004 /* LocallyIdentifiable.swift in Sources */,
F97B460824D9C6F200F4A88B /* ParseUser.swift in Sources */,
Expand Down
Loading

0 comments on commit fa74a7c

Please sign in to comment.