diff --git a/Xero.NetStandard.OAuth2Client/src/Client/IXeroClient.cs b/Xero.NetStandard.OAuth2Client/src/Client/IXeroClient.cs
index ba1daa01..f132fec7 100644
--- a/Xero.NetStandard.OAuth2Client/src/Client/IXeroClient.cs
+++ b/Xero.NetStandard.OAuth2Client/src/Client/IXeroClient.cs
@@ -12,6 +12,7 @@ public interface IXeroClient
string BuildLoginUri();
string BuildLoginUri(string state);
string BuildLoginUri(string state, string scope);
+ string BuildLoginUri(string state, string scope, string acrValues);
string BuildLoginUriPkce(string codeVerifier);
string BuildLoginUriPkce(string codeVerifier, string state);
string BuildLoginUriPkce(string codeVerifier, string state, string scope);
diff --git a/Xero.NetStandard.OAuth2Client/src/Client/XeroClient.cs b/Xero.NetStandard.OAuth2Client/src/Client/XeroClient.cs
index 36824eba..a1a98795 100644
--- a/Xero.NetStandard.OAuth2Client/src/Client/XeroClient.cs
+++ b/Xero.NetStandard.OAuth2Client/src/Client/XeroClient.cs
@@ -62,18 +62,26 @@ public string BuildLoginUri(string state)
/// A valid initial redirect URI for Xero OAuth 2.0 authorisation flow.
public string BuildLoginUri(string state, string scope)
{
+ return BuildLoginUri(state, scope, xeroConfiguration.AcrValues);
+ }
+
+ ///
+ /// Builds a XeroLogin URL for code flow, allows state, scope and acrValues to be passed in.
+ ///
+ /// A valid initial redirect URI for Xero OAuth 2.0 authorisation flow.
+ public string BuildLoginUri(string state, string scope, string acrValues)
+ {
var url = _xeroAuthorizeUri.CreateAuthorizeUrl(
clientId: xeroConfiguration.ClientId,
responseType: "code",
redirectUri: xeroConfiguration.CallbackUri.AbsoluteUri,
state: state,
- scope: scope
+ scope: scope,
+ acrValues: acrValues
);
return url;
}
-
-
///
/// Builds a XeroLogin URL for PKCE flow with codeVerifier input
///
diff --git a/Xero.NetStandard.OAuth2Client/src/Config/XeroConfiguration.cs b/Xero.NetStandard.OAuth2Client/src/Config/XeroConfiguration.cs
index e4775fd2..e052218e 100644
--- a/Xero.NetStandard.OAuth2Client/src/Config/XeroConfiguration.cs
+++ b/Xero.NetStandard.OAuth2Client/src/Config/XeroConfiguration.cs
@@ -11,6 +11,7 @@ public class XeroConfiguration
public string Scope { get; set; }
public string State { get; set; }
public string XeroApiBaseUri { get; set; } = "https://api.xero.com";
+ public string AcrValues { get; set; }
public string XeroLoginBaseUri { get; set; } = "https://login.xero.com";
public string XeroIdentityBaseUri { get; set; } = "https://identity.xero.com";
}