Skip to content

Commit 5c6310b

Browse files
committed
init ios token refresh scenario
1 parent 5f072f7 commit 5c6310b

19 files changed

Lines changed: 1594 additions & 1 deletion

samples/ios/manifest.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,22 @@ scenarios:
2424
value: "{{SCOPES}}"
2525
- label: "Grant"
2626
value: "Authorization Code + PKCE"
27+
28+
mobile_token_refresh:
29+
app_type: mobile_desktop
30+
display_name: "Token Refresh"
31+
grant: "Refresh Token"
32+
description: "Use refresh tokens to renew access tokens without re-prompting. Requires offline_access. Refresh tokens are stored in iOS Keychain (kSecAttrAccessibleWhenUnlocked)."
33+
callout: "Requires refresh_token grant type enabled in workspace [OAuth settings](workspace-oauth-general) and in the application's [Grant Types](workspace-applications-oauth). Also requires the offline_access scope."
34+
run_command: "open Quickstart.xcodeproj"
35+
required_scopes:
36+
- offline_access
37+
config_rows:
38+
- label: "Client ID"
39+
value: "{{CLIENT_ID}}"
40+
- label: "Issuer URL"
41+
value: "{{ISSUER_URL}}"
42+
- label: "Redirect URI"
43+
value: "{{REDIRECT_URI}}"
44+
- label: "Scopes"
45+
value: "{{SCOPES}}"
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// Build settings consumed by Info.plist via $(VAR_NAME) macros, then read
2+
// from Bundle.main at runtime.
3+
//
4+
// xcconfig treats `//` as a comment marker, so the issuer URL is split into
5+
// HOST + PATH and rebuilt in Swift as `https://HOST` (when PATH is empty)
6+
// or `https://HOST/PATH` (when PATH is set). ISSUER_HOST may include a port.
7+
//
8+
// SCOPES MUST include `offline_access` — that's what asks the IdP to issue a
9+
// refresh token alongside the access token.
10+
11+
CLIENT_ID = your-client-id
12+
ISSUER_HOST = your-tenant.us.connect.secureauth.com
13+
ISSUER_PATH = your-workspace
14+
REDIRECT_SCHEME = com.secureauth.quickstart.ios.refresh
15+
SCOPES = openid profile email offline_access

0 commit comments

Comments
 (0)