Skip to content

Commit 9ba3f3d

Browse files
committed
add custom scopes to swift sample project
1 parent 2205469 commit 9ba3f3d

File tree

2 files changed

+52
-13
lines changed

2 files changed

+52
-13
lines changed

samples/swift/FirebaseUI-demo-swift/Base.lproj/Main.storyboard

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -223,12 +223,35 @@
223223
</constraints>
224224
</tableViewCellContentView>
225225
</tableViewCell>
226+
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" id="u8O-fs-55H">
227+
<rect key="frame" x="0.0" y="144" width="375" height="44"/>
228+
<autoresizingMask key="autoresizingMask"/>
229+
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="u8O-fs-55H" id="NQj-Yh-BHx">
230+
<frame key="frameInset" width="375" height="43"/>
231+
<autoresizingMask key="autoresizingMask"/>
232+
<subviews>
233+
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Custom Scopes" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="QYO-4k-YoA">
234+
<fontDescription key="fontDescription" type="system" pointSize="17"/>
235+
<nil key="textColor"/>
236+
<nil key="highlightedColor"/>
237+
</label>
238+
<switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" translatesAutoresizingMaskIntoConstraints="NO" id="S27-fl-DfX"/>
239+
</subviews>
240+
<constraints>
241+
<constraint firstItem="QYO-4k-YoA" firstAttribute="leading" secondItem="NQj-Yh-BHx" secondAttribute="leadingMargin" constant="10" id="5Lq-p0-06J"/>
242+
<constraint firstItem="QYO-4k-YoA" firstAttribute="centerY" secondItem="S27-fl-DfX" secondAttribute="centerY" id="904-Om-YIu"/>
243+
<constraint firstItem="QYO-4k-YoA" firstAttribute="centerY" secondItem="NQj-Yh-BHx" secondAttribute="centerY" id="CEZ-Wt-yMZ"/>
244+
<constraint firstItem="S27-fl-DfX" firstAttribute="trailing" secondItem="NQj-Yh-BHx" secondAttribute="trailingMargin" id="MWp-7i-OjN"/>
245+
<constraint firstItem="S27-fl-DfX" firstAttribute="leading" secondItem="QYO-4k-YoA" secondAttribute="trailing" constant="8" symbolic="YES" id="vr7-Zz-1l3"/>
246+
</constraints>
247+
</tableViewCellContentView>
248+
</tableViewCell>
226249
</cells>
227250
</tableViewSection>
228251
<tableViewSection headerTitle="IDPs" id="rXD-Gf-fhs">
229252
<cells>
230253
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" textLabel="UJ1-1n-510" style="IBUITableViewCellStyleDefault" id="ePk-NX-mjW">
231-
<rect key="frame" x="0.0" y="184" width="375" height="44"/>
254+
<rect key="frame" x="0.0" y="228" width="375" height="44"/>
232255
<autoresizingMask key="autoresizingMask"/>
233256
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="ePk-NX-mjW" id="Qqz-Mo-Dyf">
234257
<frame key="frameInset" width="375" height="43"/>
@@ -245,7 +268,7 @@
245268
</tableViewCellContentView>
246269
</tableViewCell>
247270
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="blue" indentationWidth="10" textLabel="bCj-nZ-gV8" style="IBUITableViewCellStyleDefault" id="6Wu-Mi-NJQ">
248-
<rect key="frame" x="0.0" y="228" width="375" height="44"/>
271+
<rect key="frame" x="0.0" y="272" width="375" height="44"/>
249272
<autoresizingMask key="autoresizingMask"/>
250273
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="6Wu-Mi-NJQ" id="d6K-mo-Wz5">
251274
<frame key="frameInset" width="375" height="43"/>
@@ -262,7 +285,7 @@
262285
</tableViewCellContentView>
263286
</tableViewCell>
264287
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="blue" indentationWidth="10" textLabel="Esr-wp-SD2" style="IBUITableViewCellStyleDefault" id="EWb-3J-t1N">
265-
<rect key="frame" x="0.0" y="272" width="375" height="44"/>
288+
<rect key="frame" x="0.0" y="316" width="375" height="44"/>
266289
<autoresizingMask key="autoresizingMask"/>
267290
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="EWb-3J-t1N" id="cX2-wY-rV6">
268291
<frame key="frameInset" width="375" height="43"/>
@@ -279,7 +302,7 @@
279302
</tableViewCellContentView>
280303
</tableViewCell>
281304
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="blue" indentationWidth="10" textLabel="6vw-yg-ct3" style="IBUITableViewCellStyleDefault" id="O3y-o5-k5p">
282-
<rect key="frame" x="0.0" y="316" width="375" height="44"/>
305+
<rect key="frame" x="0.0" y="360" width="375" height="44"/>
283306
<autoresizingMask key="autoresizingMask"/>
284307
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="O3y-o5-k5p" id="jOm-fL-pzl">
285308
<frame key="frameInset" width="375" height="43"/>
@@ -300,7 +323,7 @@
300323
<tableViewSection headerTitle="Name" id="Jho-f6-Urp">
301324
<cells>
302325
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" id="mXf-Qr-aGq">
303-
<rect key="frame" x="0.0" y="400" width="375" height="44"/>
326+
<rect key="frame" x="0.0" y="444" width="375" height="44"/>
304327
<autoresizingMask key="autoresizingMask"/>
305328
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="mXf-Qr-aGq" id="VWa-qt-FWa">
306329
<frame key="frameInset" width="375" height="43"/>
@@ -312,7 +335,7 @@
312335
<tableViewSection headerTitle="e-mail" id="Acz-Do-HDT">
313336
<cells>
314337
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" id="IjQ-eL-x0N">
315-
<rect key="frame" x="0.0" y="484" width="375" height="44"/>
338+
<rect key="frame" x="0.0" y="528" width="375" height="44"/>
316339
<autoresizingMask key="autoresizingMask"/>
317340
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="IjQ-eL-x0N" id="kVz-NE-XOf">
318341
<frame key="frameInset" width="375" height="43"/>
@@ -324,7 +347,7 @@
324347
<tableViewSection headerTitle="UID" id="kdc-iI-3Bd">
325348
<cells>
326349
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" id="S6s-Qd-Z3i">
327-
<rect key="frame" x="0.0" y="568" width="375" height="44"/>
350+
<rect key="frame" x="0.0" y="612" width="375" height="44"/>
328351
<autoresizingMask key="autoresizingMask"/>
329352
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="S6s-Qd-Z3i" id="3tB-Th-rk9">
330353
<frame key="frameInset" width="375" height="43"/>
@@ -336,7 +359,7 @@
336359
<tableViewSection headerTitle="Provider Access Token" id="TTf-7r-Kld">
337360
<cells>
338361
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" textLabel="NKE-io-hSe" style="IBUITableViewCellStyleDefault" id="BZ9-c2-MUK">
339-
<rect key="frame" x="0.0" y="652" width="375" height="44"/>
362+
<rect key="frame" x="0.0" y="696" width="375" height="44"/>
340363
<autoresizingMask key="autoresizingMask"/>
341364
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="BZ9-c2-MUK" id="AuA-sR-YEx">
342365
<frame key="frameInset" width="375" height="43"/>
@@ -357,7 +380,7 @@
357380
<tableViewSection headerTitle="Provider Id Token" id="i6h-Na-zzy">
358381
<cells>
359382
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" textLabel="RB6-Yv-KVG" style="IBUITableViewCellStyleDefault" id="LmG-vd-Xzu">
360-
<rect key="frame" x="0.0" y="736" width="375" height="44"/>
383+
<rect key="frame" x="0.0" y="780" width="375" height="44"/>
361384
<autoresizingMask key="autoresizingMask"/>
362385
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="LmG-vd-Xzu" id="b7z-I4-euc">
363386
<frame key="frameInset" width="375" height="43"/>
@@ -400,6 +423,7 @@
400423
<outlet property="cellSignedIn" destination="6vu-5U-WfK" id="29e-eN-Uzk"/>
401424
<outlet property="cellUid" destination="S6s-Qd-Z3i" id="exG-YI-qfx"/>
402425
<outlet property="customAuthorizationSwitch" destination="VRw-wD-ISl" id="yWY-Tz-wLP"/>
426+
<outlet property="customScopesSwitch" destination="S27-fl-DfX" id="XkZ-5Z-dXj"/>
403427
</connections>
404428
</tableViewController>
405429
<placeholder placeholderIdentifier="IBFirstResponder" id="24p-6G-GD4" userLabel="First Responder" sceneMemberID="firstResponder"/>

samples/swift/FirebaseUI-demo-swift/Samples/Auth/FIRAuthViewController.swift

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ class FIRAuthViewController: UITableViewController {
6464

6565
@IBOutlet weak var authorizationButton: UIBarButtonItem!
6666
@IBOutlet weak var customAuthorizationSwitch: UISwitch!
67+
@IBOutlet weak var customScopesSwitch: UISwitch!
6768

6869

6970
override func viewDidLoad() {
@@ -189,16 +190,30 @@ class FIRAuthViewController: UITableViewController {
189190
if let selectedRows = self.tableView.indexPathsForSelectedRows {
190191
for indexPath in selectedRows {
191192
if indexPath.section == UISections.Providers.rawValue {
193+
let provider:FIRAuthProviderUI?
194+
192195
switch indexPath.row {
193196
case Providers.Google.rawValue:
194-
providers.append(FIRGoogleAuthUI())
197+
provider = self.customScopesSwitch.isOn ? FIRGoogleAuthUI(scopes: [kGoogleGamesScope,
198+
kGooglePlusMeScope,
199+
kGoogleUserInfoEmailScope,
200+
kGoogleUserInfoProfileScope])
201+
: FIRGoogleAuthUI()
195202
case Providers.Twitter.rawValue:
196-
providers.append(FIRTwitterAuthUI())
203+
provider = FIRTwitterAuthUI()
197204
case Providers.Facebook.rawValue:
198-
providers.append(FIRFacebookAuthUI())
199-
default: break
205+
provider = self.customScopesSwitch.isOn ? FIRFacebookAuthUI(permissions: ["email",
206+
"user_friends",
207+
"ads_read"])
208+
: FIRFacebookAuthUI()
209+
default: provider = nil
210+
}
200211

212+
guard provider != nil else {
213+
continue
201214
}
215+
216+
providers.append(provider!)
202217
}
203218
}
204219
}

0 commit comments

Comments
 (0)