Fastest way to verify your Client Id and Client Secret are valid with PowerShell

So, you have a Client Id and a Client Secret, but don’t know if they work anymore? Maybe they are expired? Maybe someone removed them? No worries! We can use PowerShell to validate them easily!

Solution

By using PowerShell, it’s fairly straightforward to verify, that your Client Id and Client Secret work. See the snippets below for 2 different steps:

  1. First we validate, that the values work.
  2. If they don’t, let’s run another script to see if the Client Id exists but has expired.

Validate your Client Id by trying to connect with it

We can validate the Client Id and Secret, by using Connect-PnPOnline to connect to SharePoint Online. 

Continue reading

How to get the user count for Azure AD Enterprise Application

PowerShell header

Have you ever tried to find out the number of users of an enterprise application in your Office 365 tenant? For apps with under 100 users it’s easy – just open Azure AD and check the user count. For more popular apps, it’s a lot more difficult, as Azure AD just shows “100+”. However, with some PowerShell magic, we can dig out the real user count!

Problem

When you have an “Enterprise Application” in your Azure AD, you can quite easily access its properties from the Azure Portal. However, if you want to find out the number of users using the app, that’s not as straightforward.

Continue reading

Solving “Tenant app deployment is only supported in the app catalog site. The current site is not the app catalog site.” error

Something went wrong in SharePoint

Got an error “Tenant app deployment is only supported in the app catalog site. The current site is not the app catalog site.”, even if the current site very much IS an app catalog site? There might be an easy fix!

Problem

Imagine this: you browse into your fresh SharePoint tenant, open the app catalog, click on an app, try to deploy it, and out comes this error.

Tenant app deployment is only supported in the app catalog site. The current site is not the app catalog site.

Yes, while trying to deploy an app from app catalog, you get an error that the current site is not the app catalog site. Frustrating!  Continue reading

Solving “Sorry, your files couldn’t be uploaded. The upload might be too large or the server might be experiencing high network traffic.” in SharePoint

SharePoint cat fixing them errors

This is one of the kind of weird issues that you don’t really run into in your own development environments, but that you more often run into when you actually have non-godlike permissions. Oh, the woes of trying to use SharePoint with anything less than farm/global administrator… 🙂 Anyway, in this post I’ll describe a couple of solutions to an error: “Sorry, your files couldn’t be uploaded. The upload might be too large or the server might be experiencing high network traffic”.

You might encounter this issue, when uploading pretty much any files in any SharePoint document library. Typically, I run into this when trying to update a file in a library (in my case, the only times I’ve ever seen this, have been the Style Library of a SharePoint site). You can apparently encounter it with any file type, in this example below, it happened with a JavaScript (.js) file.

Style Library throwing an error: "Sorry, your files couldn't be uploaded. The upload might be too large or the server might be experiencing high network traffic."

Style Library throws an error:
“Sorry, your files couldn’t be uploaded. The upload might be too large or the server might be experiencing high network traffic.”

Funnily enough, I usually encounter this issue with a following set-up:

  • On-premises SharePoint server (2013 or 2016 – occasionally also SharePoint Online, but that’s less typical!)
  • Small files (of 1-200kb)
  • The server has been experiencing very low network traffic.

The error really doesn’t seem to describe the issue at all – so what’s actually causing this?

Solution(s)

Quick googling didn’t give any actual reasons or fixes for the issue. A lot of people online seem to suggest changing your browser to something else from Internet Explorer… While it might not be a bad idea in itself, it does seem like a ridiculous fix – and also didn’t work for me 🙂

However, every single time so far, going through this checklist has helped me solve the issue and get rid of the error: Continue reading

SharePoint Localization – a (somewhat) comprehensive how-to!

Let me explain SharePoint

Localization – or showing users with different language preferences content in their preferred language – is not SharePoint’s strongest suite. It never was, and probably will never be, unless Microsoft perfects Machine Translation at some point. And even then it would probably require extra subscription, as Cognitive Services APIs are not available (above the peasant-tier) for free now either. In this article I’ll go through a few survival strategies for multilingual organizations – and I’ll try to expand the content as more options pop up!

Please note, that this article revolves mostly around Classic SharePoint. Microsoft’s current implementation of Modern SharePoint offers little-to-nothing for a controlled localization. It offers a curious way to use MUI to offer multilingual chrome with non-localized content, and that’s about it… But some of my tips work in Modern, too.

Different out-of-the-box localization features in SharePoint

So, what can SharePoint do out-of-the-box? There are a couple of features one can use – let’s go through them!

Continue reading

How to enable custom scripts for a SharePoint site collection?

This article explains how to enable custom scripts for any SharePoint site. Different instructions apply to SharePoint Online, and on-premises scenarios (SharePoint 2013, 2016 and probably 2019).

Different solutions resolve the issue for different target sites:

  • Modern SharePoint Team Sites (attached to Office Groups)
  • SharePoint MySites
  • Personal OneDrive sites
  • Any SharePoint site collection created based on self-service site creation
  • SharePoint Online tenant root site collection
  • Any Classic SharePoint site collection

Errors and causes

Most typically I run into this when trying to insert a script web part with custom JavaScript into a site, that has NoScript enabled. That’s annoying – since script webparts are incredibly useful! Continue reading

Fixing issue “AADSTS70005” by enabling the implicit authentication flow for your Azure AD app

Azure Active Directory (Azure AD)

While either developing or just trying to use an application that authenticates against Azure AD, you might get an error message that contains error code “AADSTS70005“. This means that you’re trying to use implicit authentication flow, but it isn’t allowed for your app. If you have access to the Azure AD you’re authentication against, it’s easy to fix! See more below…

Reason

You might get an error, somewhat like this:

AADSTS70005: response_type 'token' is not supported for the application Trace ID: <Guid_1> Correlation ID: <Guid_2> Timestamp...

This is returned by your Azure AD instance, as it doesn’t allow the use of implicit OAuth2 authentication flow for the application id you’re using.

Solution: Enable the Implicit Authentication Flow

Okay, luckily the fix is going to be easy. You can resolve the issue by enabling the implicit authentication flow for OAuth2. There’s actually no switch in GUI for this – you’ll have to edit the manifest of your registered Azure AD application yourself. Follow these steps: Continue reading

How to show more than 30 categories in SharePoint blog/news sites?

SharePoint doesn't work as intended

Imagine this: you’re using a good old SharePoint blog site, and have a bunch of categories in use. That’s nice and easy – SharePoint offers the categorization functionality natively, and it works decently. Problems arise when you have a lot of categories, though – not all of them will be shown. Even if you tweak the web part to show more items on a page, this isn’t reflected on the whole blog site!

This post article explains how to fix this.

Problem

For background info – the category listing is actually an XSLT list view web part. It’s not obvious just looking at it, but to change its view you’ll need to modify the list view it’s attached to.

With low numbers of categories, this works quite nicely.

SharePoint blog

SharePoint blog with categories

By default, however, SharePoint only shows 30 first (alphabetically ordered) of your categories. Weirdly enough, it doesn’t show any paging for them – and it doesn’t even indicate in any way, that it’s not showing all of the categories! This is a bit annoying, so luckily there’s a way to change this.

Continue reading

Fixing the error “Web Deploy cannot modify the file on the Destination because it is locked by an external process.”

"Publishing Failed" for an Azure Function

This post describes how to fix the error, where when publishing Azure Functions or Azure App Services you get an error like this: “Web Deploy cannot modify the file on the Destination because it is locked by an external process.”

This is luckily another straightforward fix! 

Problem

Azure Function Publish fails with a message:

“Web Deploy cannot modify the file on the Destination because it is locked by an external process.”

It is, indeed, caused by some of your files at the target of your publishing being in use, so they cannot be overwritten. Great – an actually accurate error message! Much appreciated.

This seems to apply to Azure Functions CLI versions 2.x (currently in beta), and not for the stable versions. At least that’s the state at the time of writing this. There’s even this unresolved issue open about it on GitHub.

Continue reading

How to fix AADSTS50011: Reply address did not match because of case sensitivity.

AADSTS50011: The reply address ... does not match the reply addresses configured for the application.

So, you got an error with a code AADSTS50011? It’s just Azure AD’s authentication acting up because of invalid reply address! here’s a bunch of different reasons that lead to this error. This post describes the variant where the URL’s case sensitivity differns from what’s configured. For me, the most typical scenario where I run into this error is accessing the app from SharePoint.

Problem

So, you’re getting an error somewhat like this:

AADSTS50011: The reply address <...> does not match the reply addresses configured for the application: '<guid>'. More details: Reply address did not match because of case sensitivity.

This is another variation of the good old “AADSTS50011: The reply address does not match the reply addresses configured“-error.

I recently encountered this new version of the error. Normally, you don’t get any extra details – the “More details:” -section will just say “not available” or some such. But I guess a lot of people have been struggling with the case-sensitivity of the URLs (I wonder who thought that was a good idea?), and Microsoft has opted to provide this, slightly improved version of the classical reply-url error.

Continue reading