We are celebrating the 10-year anniversary of the Alteryx Community! Learn more and join in on the fun here.
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.

1 REPLY 1
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.

 

 

Labels
Top Solution Authors