Exercises
Assess your ability to design secure authentication for mobile applications. This quiz covers OAuth 2.0 with PKCE, OpenID Connect, access and refresh tokens, operating-system key stores, verified deep links, TLS validation, certificate pinning, biometric controls, secure logging, token revocation, key rotation, device attestation, and defenses against credential attacks. Questions range from foundational concepts to practical security decisions and architecture analysis.
Answer the questions below and check the explanation for each answer.
0/18 answered
Auto audio on: the next questions will be read aloud when you click Continue.
PKCE binds the authorization request to a temporary secret called the code verifier. An attacker who intercepts only the authorization code cannot redeem it without that verifier.
Refresh tokens should use protected OS credential storage. Keychain and Keystore can restrict access and may use hardware-backed protection, reducing exposure compared with ordinary files or embedded constants.
A client normally builds a path from the server's leaf certificate through intermediate certificates to a trusted root. A missing intermediate can prevent that path from being constructed.
The app first generates a high-entropy code verifier and derives a code challenge from it. The challenge is sent with the authorization request, while the verifier is retained for code redemption.
Mobile biometrics normally perform local user verification and can authorize access to a protected key or token. They do not by themselves prove that the entire device is uncompromised.
Universal Links and Android App Links can verify that a domain is associated with a particular app. This makes callback interception by another app less likely than with an unverified custom scheme.
Decoding is not verification. The API must validate the signature using an approved algorithm and key, then check relevant claims such as iss, aud, and exp.
Authorization headers can contain reusable bearer tokens. They should be omitted or reliably redacted so log platforms, support tools, and crash reports do not become sources of credential leakage.
The client sends a fresh nonce and verifies that the same value appears in the returned ID token. This binds the response to the request and helps prevent replay or response substitution.
A backup pin allows the server to rotate to a previously prepared key while remaining accepted by deployed app versions. Pinning still requires careful expiration, update, and recovery planning.
Sign-out should remove local credentials. Revoking the refresh token or related server session, where supported, prevents the cleared device token from being used later to obtain new access tokens.
Envelope encryption uses a data-encryption key for the data and a key-encryption key to wrap that key. Rotation can often rewrap the smaller data key rather than re-encrypting all protected content.
Attackers may inspect app binaries, memory, or runtime behavior. Obfuscation and compromise detection can raise costs, but a public mobile client cannot safely protect a permanent server credential.
Credential stuffing is distributed and may evade a simple per-address limit. Adaptive controls can combine account, device, behavioral, and network signals while adding challenges or temporary restrictions.
A system browser or secure browser session gives users a recognizable security context and can reuse existing identity-provider sessions. An embedded WebView gives the host app more control over sensitive content.
Least privilege means requesting only the access necessary for the current feature. A basic QR scanner needs camera access, while unrelated contacts and continuous location permissions unnecessarily increase risk.
Attestation can provide useful evidence about app or device integrity, but it has platform limits and may be bypassed. It should contribute to a broader risk decision rather than replace core authentication controls.
With rotation, each successful refresh replaces the previous token. If an already-used token appears again, the server can infer possible duplication and revoke the related token family or session.

Free CourseDart and Flutter Developer course
20h47m
6 exercises

Free CourseFlutter for complete beginners
1h45m
6 exercises

Free CourseLearn Flutter and Dart to create apps
2h48m
25 exercises

Free CourseBuild Your First Universal React Native App
1h23m
9 exercises

Free CourseAndroid for beginners
10h47m
52 exercises

Free CourseIonic for Beginners
5h04m
22 exercises

Free CourseFlutter tutorial for beginners
4h23m
8 exercises

Free CourseiOS
22h35m
13 exercises
Thousands of online courses in video, ebooks and audiobooks.
To test your knowledge during online courses
Generated directly from your cell phone's photo gallery and sent to your email
Download our app via QR Code or the links below:.
+ 10 million
students
Free and Valid
Certificate
60 thousand free
exercises
4.8/5 rating in
app stores
Free courses in
video and ebooks