Start Free Trial

Alteryx Designer Desktop Discussions

Find answers, ask questions, and share expertise about Alteryx Designer Desktop and Intelligence Suite.

Browser Sign in Sharepoint Authentication within Alteryx App

alexloudon
6 - Meteoroid

Hi everyone,

 was hoping you could help me with something. I'm building an app currently that a range of users will be running. Part of the app involves importing data from a SharePoint file, however when other people are running the app they are encountering the SharePoint authentication failed error, understandably. I was wondering if there is a way to offer browser sign in functionality to app users? I had a quick play with the DCM interface tool but seeing as we use browser sign in, I'm not sure how helpful that will be. 

 

Thanks for your help.

3 REPLIES 3
roxanne41watts
5 - Atom

Hi there! I understand how frustrating authentication issues can be. To enable browser sign-in functionality for your app users, you can use the Microsoft Authentication Library (MSAL) for JavaScript. This library allows you to integrate browser-based sign-in with SharePoint.

Here's a high-level overview of the steps you'll need to follow:

Register Your App: Register your app in the Azure portal to get the necessary credentials (Client ID, Client Secret, Redirect URI).

Install MSAL.js: Add the MSAL.jslibrary to your project.

Initialize MSAL: Create an instance of the PublicClientApplication class with your app's configuration.

Sign-In: Use the loginPopup() or loginRedirect() method to initiate the sign-in process.

Access SharePoint: Once authenticated, use the acquired tokens to access SharePoint resources.

Here's a basic example to get you started:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SharePoint Authentication</title>
<script src="https://alcdn.msauth.net/browser/2.0.0-beta.1/js/msal-browser.js"></script>
<script src="https://alcdn.msauth.net/browser/2.0.0-beta.1/js/msal-browser-globals.js"></script>
<script>
const msalConfig = {
auth: {
clientId: "YOUR_CLIENT_ID",
authority: "https://login.microsoftonline.com/YOUR_TENANT_ID",
redirectUri: "YOUR_REDIRECT_URI"
}
};

const msalInstance = new Msal.PublicClientApplication(msalConfig);

msalInstance.loginRedirect({
scopes: ["https://graph.microsoft.com/User.Read"]
}).then(response => {
console.log("Login successful:", response);
// Use the acquired token to access SharePoint
}).catch(error => {
console.error("Login failed:", error);
});
</script>
</head>
<body>
<button onclick="msalInstance.loginRedirect()">Sign In</button>
</body>
</html>

Replace YOUR_CLIENT_ID, YOUR_TENANT_ID, and YOUR_REDIRECT_URI with your actual values.

 

 

Driftboss3d
5 - Atom

Hey, I ran into the exact same issue with SharePoint auth in a multi-user app — super frustrating at first! What worked for us was switching to a browser-based OAuth flow so each user could authenticate via their own browser session (kind of like giving each driver their own car in Drift Boss — no more crashes). Definitely worth looking into if you want smoother onboarding!

dreldrel
9 - Comet

Thanks for sharing! This very informative

Labels
Top Solution Authors