mirror of
https://github.com/zoriya/octokit.net.git
synced 2025-12-19 21:55:12 +00:00
Implement observable oauth client
Rx will never die
This commit is contained in:
28
Octokit.Reactive/Clients/IObservableOauthClient.cs
Normal file
28
Octokit.Reactive/Clients/IObservableOauthClient.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
using System;
|
||||
|
||||
namespace Octokit.Reactive
|
||||
{
|
||||
public interface IObservableOauthClient
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the URL used in the first step of the web flow. The Web application should redirect to this URL.
|
||||
/// </summary>
|
||||
/// <param name="request">Parameters to the Oauth web flow login url</param>
|
||||
/// <returns></returns>
|
||||
IObservable<Uri> GetGitHubLoginUrl(OauthLoginRequest request);
|
||||
|
||||
/// <summary>
|
||||
/// Makes a request to get an access token using the code returned when GitHub.com redirects back from the URL
|
||||
/// <see cref="GetGitHubLoginUrl">GitHub login url</see> to the application.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// If the user accepts your request, GitHub redirects back to your site with a temporary code in a code
|
||||
/// parameter as well as the state you provided in the previous step in a state parameter. If the states don’t
|
||||
/// match, the request has been created by a third party and the process should be aborted. Exchange this for
|
||||
/// an access token using this method.
|
||||
/// </remarks>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
IObservable<OauthToken> CreateAccessToken(OauthTokenRequest request);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user