Microsoft Sign-in: Add refresh token support (#1838)

This commit is contained in:
ReinforceZwei 2021-12-16 15:53:31 +08:00 committed by GitHub
parent e68a51dcff
commit 4b8ca158a8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 26 additions and 21 deletions

View file

@ -14,6 +14,7 @@ namespace MinecraftClient.Protocol.Session
public string PlayerName { get; set; }
public string PlayerID { get; set; }
public string ClientID { get; set; }
public string RefreshToken { get; set; }
public SessionToken()
{
@ -21,11 +22,12 @@ namespace MinecraftClient.Protocol.Session
PlayerName = String.Empty;
PlayerID = String.Empty;
ClientID = String.Empty;
RefreshToken = String.Empty;
}
public override string ToString()
{
return String.Join(",", ID, PlayerName, PlayerID, ClientID);
return String.Join(",", ID, PlayerName, PlayerID, ClientID, RefreshToken);
}
public static SessionToken FromString(string tokenString)
@ -39,6 +41,7 @@ namespace MinecraftClient.Protocol.Session
session.PlayerName = fields[1];
session.PlayerID = fields[2];
session.ClientID = fields[3];
session.RefreshToken = fields[4];
Guid temp;
if (!JwtRegex.IsMatch(session.ID))
@ -49,6 +52,7 @@ namespace MinecraftClient.Protocol.Session
throw new InvalidDataException("Invalid player ID");
if (!Guid.TryParseExact(session.ClientID, "N", out temp))
throw new InvalidDataException("Invalid client ID");
// No validation on refresh token because it is custom format token (not Jwt)
return session;
}