File tree Expand file tree Collapse file tree 5 files changed +53
-0
lines changed Expand file tree Collapse file tree 5 files changed +53
-0
lines changed Original file line number Diff line number Diff line change @@ -135,6 +135,7 @@ public static string Create()
135
135
public static class AuthenticationUrls
136
136
{
137
137
public static string CreateToken ( ) => "/v1/oauth/token" ;
138
+ public static string RevokeToken ( ) => "/v1/oauth/revoke" ;
138
139
}
139
140
}
140
141
}
Original file line number Diff line number Diff line change @@ -18,5 +18,16 @@ Task<CreateTokenResponse> CreateTokenAsync(
18
18
CreateTokenRequest createTokenRequest ,
19
19
CancellationToken cancellationToken = default
20
20
) ;
21
+
22
+ /// <summary>
23
+ /// Revokes an access token.
24
+ /// </summary>
25
+ /// <param name="revokeTokenRequest"></param>
26
+ /// <param name="cancellationToken"></param>
27
+ /// <returns></returns>
28
+ Task < CreateTokenResponse > RevokeTokenAsync (
29
+ RevokeTokenRequest revokeTokenRequest ,
30
+ CancellationToken cancellationToken = default
31
+ ) ;
21
32
}
22
33
}
Original file line number Diff line number Diff line change
1
+ using System . Threading ;
2
+ using System . Threading . Tasks ;
3
+
4
+ namespace Notion . Client
5
+ {
6
+ public sealed partial class AuthenticationClient
7
+ {
8
+ public async Task < HttpStatusCode > RevokeTokenAsync (
9
+ RevokeTokenRequest revokeTokenRequest ,
10
+ CancellationToken cancellationToken = default )
11
+ {
12
+ var body = ( IRevokeTokenBodyParameters ) revokeTokenRequest ;
13
+
14
+ return ( await _client . PostAsync (
15
+ ApiEndpoints . AuthenticationUrls . RevokeToken ( ) ,
16
+ body ,
17
+ cancellationToken : cancellationToken
18
+ ) ) . StatusCode ;
19
+ }
20
+ }
21
+ }
Original file line number Diff line number Diff line change
1
+ using Newtonsoft . Json ;
2
+
3
+ namespace Notion . Client
4
+ {
5
+ public interface IRevokeTokenBodyParameters
6
+ {
7
+ /// <summary>
8
+ /// The token to be revoked.
9
+ /// </summary>
10
+ [ JsonProperty ( "token" ) ]
11
+ string Token { get ; set ; }
12
+ }
13
+ }
Original file line number Diff line number Diff line change
1
+ namespace Notion . Client
2
+ {
3
+ public class RevokeTokenRequest : IRevokeTokenBodyParameters
4
+ {
5
+ public string Token { get ; set ; }
6
+ }
7
+ }
You can’t perform that action at this time.
0 commit comments