diff --git a/MFaaP.MFWSClient/MFWSClient.Authentication.cs b/MFaaP.MFWSClient/MFWSClient.Authentication.cs
index 971145d..9accc84 100644
--- a/MFaaP.MFWSClient/MFWSClient.Authentication.cs
+++ b/MFaaP.MFWSClient/MFWSClient.Authentication.cs
@@ -22,10 +22,15 @@ public partial class MFWSClient
///
protected const string XAuthenticationHttpHeaderName = "X-Authentication";
+ ///
+ /// The HTTP header name used to maintain the active vault (if multiple vaults and using SSO).
+ ///
+ protected const string XActiveVaultHttpHeaderName = "X-Active-Vault";
+
///
/// The HTTP header name used for the vault guid ().
///
- protected const string VaultHttpHeaderName = "X-Vault";
+ protected const string XVaultHttpHeaderName = "X-Vault";
///
/// This is the authentication token used in the request headers.
@@ -69,7 +74,7 @@ public void AddVaultHeader(Guid vaultGuid)
/// Typically used with OAuth authentication tokens.
public void AddVaultHeader(string vaultGuid)
{
- this.AddDefaultHeader(MFWSClient.VaultHttpHeaderName, vaultGuid);
+ this.AddDefaultHeader(MFWSClient.XVaultHttpHeaderName, vaultGuid);
}
///
@@ -78,7 +83,7 @@ public void AddVaultHeader(string vaultGuid)
public void ClearVaultHeader()
{
// Remove the authorisation header.
- foreach (var parameter in this.DefaultParameters.Where(p => p.Name == MFWSClient.VaultHttpHeaderName)
+ foreach (var parameter in this.DefaultParameters.Where(p => p.Name == MFWSClient.XVaultHttpHeaderName)
.ToArray())
{
this.DefaultParameters.Remove(parameter);
@@ -98,7 +103,13 @@ protected virtual void ClearAuthenticationToken()
this.CookieContainer = new CookieContainer();
// Remove the authorisation header.
- foreach (var parameter in this.DefaultParameters.Where(p => p.Name == MFWSClient.AuthorizationHttpHeaderName)
+ foreach (var parameter in this
+ .DefaultParameters
+ .Where
+ (
+ p => p.Name == MFWSClient.AuthorizationHttpHeaderName
+ || p.Name == MFWSClient.XActiveVaultHttpHeaderName
+ )
.ToArray())
{
this.DefaultParameters.Remove(parameter);
@@ -137,6 +148,9 @@ protected virtual void ClearAuthenticationToken()
this.CookieContainer.Add(this.BaseUrl, new Cookie(cookie.Name, cookie.Value, cookie.Path, cookie.Domain));
}
}
+
+ // Ensure that the active vault is stored.
+ this.AddDefaultHeader(MFWSClient.XActiveVaultHttpHeaderName, vaultId.ToString("B"));
}
///
diff --git a/MFaaP.MFWSClient/MFaaP.MFWSClient.csproj b/MFaaP.MFWSClient/MFaaP.MFWSClient.csproj
index 2101b5a..dd888a1 100644
--- a/MFaaP.MFWSClient/MFaaP.MFWSClient.csproj
+++ b/MFaaP.MFWSClient/MFaaP.MFWSClient.csproj
@@ -14,7 +14,7 @@
- 1.2.3-alpha
+ 1.2.4-alpha
M-Files Corporation
Sample .NET wrapper for the M-Files Web Service. Not designed for production use.
Copyright (c) 2020 onwards, M-Files Corporation
diff --git a/current/MFaaP.MFWSClient.1.2.3-alpha.nupkg b/current/MFaaP.MFWSClient.1.2.3-alpha.nupkg
deleted file mode 100644
index 94e98bb..0000000
Binary files a/current/MFaaP.MFWSClient.1.2.3-alpha.nupkg and /dev/null differ
diff --git a/current/MFaaP.MFWSClient.1.2.4-alpha.nupkg b/current/MFaaP.MFWSClient.1.2.4-alpha.nupkg
new file mode 100644
index 0000000..9e790b7
Binary files /dev/null and b/current/MFaaP.MFWSClient.1.2.4-alpha.nupkg differ