-
Notifications
You must be signed in to change notification settings - Fork 220
Make AuthSession final and add a delegate protocol to intercept and provide custom errors #224
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
17 commits
Select commit
Hold shift + click to select a range
fae7e9b
Add new AuthSessionDelegate
mdmathias 87f6127
Update error method to take completion
mdmathias 01ee35a
Add some documentation
mdmathias 820324a
Add tests for AuthSession selector based callbacks
mdmathias 9933e76
Update if let syntax to pass on GH
mdmathias a9ff534
Update copyright year to 2023 in new files
mdmathias 8e17c47
Rename delegate method to include token
mdmathias 76ac4bb
Use as to cast to Swift.Error to NSError in AuthStateTests
mdmathias 31e0378
Check for an AppAuth error before reassigning to an AuthSession error
mdmathias 41d5e6c
Remove unnecessary GTMAppAuthExternalError and update tests
mdmathias 693bdce
Use a barrier with the dispatch queue to ensure error can be modified…
mdmathias d9ffe2f
No need for completion in updated error method
mdmathias 1bd305b
Hardcode AppAuth error for GSI-iOS testing
mdmathias 2255e39
Make it easier to see the new error via breakpoint
mdmathias 5c4c2f0
Remove hardcoded AppAuth error
mdmathias 66a0386
Make keychain helper visibility public
mdmathias 4721699
Some formatting in test delegate helper
mdmathias File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,44 @@ | ||
| /* | ||
| * Copyright 2023 Google LLC | ||
| * | ||
| * Licensed under the Apache License, Version 2.0 (the "License"); | ||
| * you may not use this file except in compliance with the License. | ||
| * You may obtain a copy of the License at | ||
| * | ||
| * http://www.apache.org/licenses/LICENSE-2.0 | ||
| * | ||
| * Unless required by applicable law or agreed to in writing, software | ||
| * distributed under the License is distributed on an "AS IS" BASIS, | ||
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| * See the License for the specific language governing permissions and | ||
| * limitations under the License. | ||
| */ | ||
|
|
||
| import Foundation | ||
|
|
||
| /// Methods defining the `AuthSession`'s delegate. | ||
| @objc(GTMAuthSessionDelegate) | ||
| public protocol AuthSessionDelegate { | ||
| /// Used to supply additional parameters on token refresh. | ||
| /// | ||
| /// - Parameters: | ||
| /// - authSession: The `AuthSession` needing additional token refresh parameters. | ||
| /// - Returns: An optional `[String: String]` supplying the additional token refresh parameters. | ||
| @objc optional func additionalTokenRefreshParameters( | ||
| forAuthSession authSession: AuthSession | ||
| ) -> [String: String]? | ||
|
|
||
| /// A method notifying the delegate that the authorization request failed. | ||
| /// | ||
| /// Use this method to examine the error behind the failed authorization request and supply a more | ||
| /// custom error specifying whatever context is needed. | ||
| /// | ||
| /// - Parameters: | ||
| /// - authSession: The `AuthSession` whose authorization request failed. | ||
| /// - originalError: The original `Error` associated with the failure. | ||
| /// - Returns: The new error for `AuthSession` to send back or nil if no error should be sent. | ||
| @objc optional func updatedError( | ||
| forAuthSession authSession: AuthSession, | ||
| originalError: Error | ||
| ) -> Error? | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.