Open
Conversation
This commit adds a new class, AuthTokenRetrieverServer, that intends to replace the existing AuthTokenRetrieverLib class. The new class works similarly to the existing one. However, there are some key differences. - The new class implements IDisposable and should be wrapped in a using block, or otherwise disposed of, once it is no longer needed to release unmanaged resources. - The new class accepts an Action<OAuthToken> delegate in its constructor. The delegate is invoked once the user authorised the application and the server retrieves the user's access and refresh tokens. This allows the caller to programmatically obtain the user's new tokens. - The new class uses the EmbedIO web server instead of the previous uhttpsharp. This was done due to EmbedIO's greater ease of use, community support, and to hide that pesky error message that appears when using uhttpsharp ;)
BREAKING CHANGES: -The internal property HttpServer has been removed from class AuthTokenRetrieverLib. The impact of this change should be extremely small as it only effects consumers in the same assembly as the class. - The HTML of the token success page has been changed. This may effect programs that are parsing the tokens HTML page. Changes the AuthTokenRetrieverLib class to use the new AuthTokenRetrieverServer under the hood while still keeping the existing external interface. Removes uhttpsharp from AuthTokenRetriever and AuthTokenRetrieverLib as they are no longer needed.
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This pull request adds a new class, AuthTokenRetrieverServer, that intends to replace the existing AuthTokenRetrieverLib class.
Description
The new class works similarly to the existing one. However, there are some key differences:
AuthTokenRetrieverLib Backwards Compatibility
To maintain backwards compatibility, I have kept the existing AuthTokenRetrieverLib class. It now uses the new AuthTokenRetrieverServer class under the hood but maintains the existing public interface meaning it (should) remain compatible with almost all existing consumers of the class. AuthTokenRetrieverLib has been marked as obsolete and informs developers to use the new AuthTokenRetrieverServer.
However, there are two breaking changes that could affect some edge cases:
internal HttpServer HttpServer { get; private set; }) has been removed from the class. The impact of this change should be extremely small as it can only affect consumers in the same assembly as the class.Example usage