Skip to content

Commit 47167fa

Browse files
codebrainrusscam
authored andcommitted
Additions to Invalidate Token API (#3937)
* Implement additional fields on invalidate user token requests * Add error details to response * Update src/Nest/XPack/Security/User/InvalidateUserAccessToken/InvalidateUserAccessTokenRequest.cs * Fix inherit doc references Co-Authored-By: Russ Cam <[email protected]>
1 parent ca6c522 commit 47167fa

File tree

2 files changed

+77
-2
lines changed

2 files changed

+77
-2
lines changed

src/Nest/XPack/Security/User/InvalidateUserAccessToken/InvalidateUserAccessTokenRequest.cs

+59-1
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,83 @@
22

33
namespace Nest
44
{
5+
/// <summary>
6+
/// Invalidates one or more access tokens or refresh tokens.
7+
/// </summary>
58
[MapsApi("security.invalidate_token.json")]
69
public partial interface IInvalidateUserAccessTokenRequest
710
{
11+
/// <summary>
12+
/// An access token.
13+
/// This parameter cannot be used if any of <see cref="RefreshToken"/>, <see cref="RealmName"/> or <see cref="Username"/> are used.
14+
/// </summary>
815
[DataMember(Name ="token")]
916
string Token { get; set; }
17+
18+
/// <summary>
19+
/// A refresh token.
20+
/// This parameter cannot be used any of <see cref="RefreshToken"/>, <see cref="RealmName"/> or <see cref="Username"/> are used.
21+
/// </summary>
22+
[DataMember(Name = "refresh_token")]
23+
string RefreshToken { get; set; }
24+
25+
/// <summary>
26+
/// The name of an authentication realm.
27+
/// This parameter cannot be used with either <see cref="RefreshToken"/> or <see cref="Token"/>.
28+
/// </summary>
29+
[DataMember(Name = "realm_name")]
30+
string RealmName { get; set; }
31+
32+
/// <summary>
33+
/// The username of a user.
34+
/// This parameter cannot be used with either <see cref="RefreshToken"/> or <see cref="Token"/>.
35+
/// </summary>
36+
[DataMember(Name = "username")]
37+
string Username { get; set; }
1038
}
1139

40+
1241
public partial class InvalidateUserAccessTokenRequest
1342
{
1443
public InvalidateUserAccessTokenRequest(string token) => ((IInvalidateUserAccessTokenRequest)this).Token = token;
1544

16-
[DataMember(Name ="token")]
45+
/// <inheritdoc cref="IInvalidateUserAccessTokenRequest.Token"/>
1746
string IInvalidateUserAccessTokenRequest.Token { get; set; }
47+
48+
/// <inheritdoc cref="IInvalidateUserAccessTokenRequest.RefreshToken"/>
49+
string IInvalidateUserAccessTokenRequest.RefreshToken { get; set; }
50+
51+
/// <inheritdoc cref="IInvalidateUserAccessTokenRequest.RealmName"/>
52+
string IInvalidateUserAccessTokenRequest.RealmName { get; set; }
53+
54+
/// <inheritdoc cref="IInvalidateUserAccessTokenRequest.Username"/>
55+
string IInvalidateUserAccessTokenRequest.Username { get; set; }
1856
}
1957

2058
public partial class InvalidateUserAccessTokenDescriptor
2159
{
60+
/// <inheritdoc cref="IInvalidateUserAccessTokenRequest.Token" />
2261
public InvalidateUserAccessTokenDescriptor(string token) => ((IInvalidateUserAccessTokenRequest)this).Token = token;
2362

63+
/// <inheritdoc cref="IInvalidateUserAccessTokenRequest.RefreshToken" />
64+
public InvalidateUserAccessTokenDescriptor RefreshToken(string refreshToken) => Assign(refreshToken, (a, v) => a.RefreshToken = v);
65+
66+
/// <inheritdoc cref="IInvalidateUserAccessTokenRequest.RealmName" />
67+
public InvalidateUserAccessTokenDescriptor RealmName(string realmName) => Assign(realmName, (a, v) => a.RealmName = v);
68+
69+
/// <inheritdoc cref="IInvalidateUserAccessTokenRequest.Username" />
70+
public InvalidateUserAccessTokenDescriptor Username(string username) => Assign(username, (a, v) => a.Username = v);
71+
72+
/// <inheritdoc cref="IInvalidateUserAccessTokenRequest.Token" />
2473
string IInvalidateUserAccessTokenRequest.Token { get; set; }
74+
75+
/// <inheritdoc cref="IInvalidateUserAccessTokenRequest.RefreshToken" />
76+
string IInvalidateUserAccessTokenRequest.RefreshToken { get; set; }
77+
78+
/// <inheritdoc cref="IInvalidateUserAccessTokenRequest.RealmName" />
79+
string IInvalidateUserAccessTokenRequest.RealmName { get; set; }
80+
81+
/// <inheritdoc cref="IInvalidateUserAccessTokenRequest.Username" />
82+
string IInvalidateUserAccessTokenRequest.Username { get; set; }
2583
}
2684
}
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,33 @@
1-
using System.Runtime.Serialization;
1+
using System.Collections.Generic;
2+
using System.Runtime.Serialization;
3+
using Elasticsearch.Net;
24

35
namespace Nest
46
{
57
public class InvalidateUserAccessTokenResponse : ResponseBase
68
{
9+
/// <summary>
10+
/// The number of the tokens that were invalidated as part of this request.
11+
/// </summary>
712
[DataMember(Name = "invalidated_tokens")]
813
public long InvalidatedTokens { get; internal set; }
914

15+
/// <summary>
16+
/// The number of tokens that were already invalidated.
17+
/// </summary>
1018
[DataMember(Name = "previously_invalidated_tokens")]
1119
public long PreviouslyInvalidatedTokens { get; internal set; }
1220

21+
/// <summary>
22+
/// The number of errors that were encountered when invalidating the tokens.
23+
/// </summary>
1324
[DataMember(Name = "error_count")]
1425
public long ErrorCount { get; internal set; }
26+
27+
/// <summary>
28+
/// Details about these errors. This field is not present in the response when there are no errors.
29+
/// </summary>
30+
[DataMember(Name = "error_details")]
31+
public IReadOnlyCollection<ErrorCause> ErrorDetails { get; internal set; } = EmptyReadOnly<ErrorCause>.Collection;
1532
}
1633
}

0 commit comments

Comments
 (0)