Onsite Username/Password and Windows Authentication

lock
push_pin
done
Answered
19

Hello community!

There is a functionality for trying to log in to Windows account (On-prem Active Directory) with user-name and password.  This is a concept that has created a lot of issues over the years, and is now being removed.

What will stop working:

Customers that configured crm.web with anonymous access in IIS and still wanted to log in with AD account, will stop working.

Mitigation:

Customer must configure IIS to use Windows Authentication and pass this on to NetServer. The customer will thusly get single sign-on.

NOTE:

Organizations are increasingly moving away from System Center, client machines linked to on prem AD and transition to Intune and Azure AD.  This means that AD integrations are becoming less and less relevant and good onsite integrations to Azure AD is becoming more relevant. To support this, we need to modify admin to deal with user management linked to Azure AD and also make some more improvements to OpenID connect integration in NetServer/CRM.web.  The latter is currently being worked on in the scope of .net 6.

Any questions or comments are welcome!

 

30 Jun 2022 | 12:42 PM

All Replies (19)

Thanks for the heads-up Tony! Does this mean that you need to disable Anonymous authentication and only allow Windows Authentication in IIS? So you can't mix AD and not-AD connected users?

Support for AAD in OnSite would also be very great, we hear this wish/requirement a lot.

30 Jun 2022 | 02:22 PM

Hi Tony,

do you know which version this functionality broke? Is it relevant for 10.1.5? We've just upgraded a customer from 9.2 R3 to 10.1.5, and we're having some issues with using Active Directory username and password.

And like David says, does this mean you can't mix AD and non-AD users?

16 Sep 2022 | 10:29 AM
I just saw an internal ticket with another partner having problems with 10.1.5 and AD-authentication which seems to have been solved by installing 10.1.2 instead. Don't know if this was a reason, but I would also like to get some more info regarding the status of this and what changes that is implemented in SO 10.1.5.
16 Sep 2022 | 02:56 PM

Tony,

Could you please elaborate a bit which parts that will and will not work as well as some status regarding the functionality, is this implemented in SO 10.1.5 or will it come in a later release?

1. When it comes to the AD-functionality, is there differences between 10.0.6, 10.1.2 and 10.1.5 (all onsite)? If so, what are the differences?
2. Will it still be possible to mix local AD-login via SSO as well as using pure SO-user-login or will only SSO be possible when having Win Auth enabled?

Best Regards
Marcus

 

16 Sep 2022 | 03:03 PM

Hi, Tony

At the moment we will wait to install 10.1.5 for customers, as many are still using AD authentication, and we need to prepare them, if this breaks. 

We tried setting up SSO for the only customer that has this version and so far no success.

We followed this guide

Single sign-on | SuperOffice Docs

Is there a newer one or is this still the go to guide?

19 Sep 2022 | 07:41 AM

Hi, this was bad news. I also want to know how to solve the mix of SSO AD logins and plain SO-users?
On prem customers using AD login would probably not just want to switch to SO-based username/password.


(Often at least one or 2 users in a setup uses password often an Admin account that we as partner use, and or the CRMX-account to be able to login to admin-client for)

//Anders

19 Sep 2022 | 08:13 AM

Hi,

Introducing these kind of breaking changes without even mentioning them in the release notes seems a bit odd? Makes me wonder if someone in R&D gone haywire all on his/her own initiative regarding authentication... 😉

Seriously, who dares to upgrade a customer that uses ADauth to 10.1.5 at all? 

How can system accounts still work mixed with AD accounts if the old username/password accounts cannot? Aren't they authenticated exactly the same way? Or do we have to resort to setting up double sites, one for winauth and one for anonymous, like in the old days? Or have I misinterpreted  everything? 🙃

Everyone here has lots of questions, I hope you're working on finding the answers, poor 😊 Tony 🙏🏼

Best regards,

Jan

 

 

20 Sep 2022 | 06:36 AM

I just learned about this forum thread after a failed attempt to upgrade a customer yesterday to version 10.1.5. We ended up on 10.1.2 after long time struggeling.

I agree that at least, there should be a warning in the release-notes. 

Ill second Marcus' questions above, and add "How does this change affect TravelGateway login? Is a system user enough?"

20 Sep 2022 | 07:19 AM

Hello,

I hope I'll be able to clarify some things here.

What has changed

In the previous SuperOffice versions, when you supplied credentials to the SuperOffice login dialog, NetServer tried to authenticate the user against SuperOffice database and when it failed, it tried also against AD. This system allowed for a mix of both SuperOffice logins and AD logins without any additional setup.

There were several issues with this functionality. The biggest problem was, if a user had the same username in SuperOffice and in AD, the AD account could be locked out after several wrong logging attempts.

As Tony mentioned in the first post, this functionality in NetServer to also try to log in a user to AD has been removed.

When the change was made

It has been removed in SuperOffice 10.1.5.

Can we mix SO loggins and AD loggins now?

No, at least not in one SuperOffice configuration. For AD authentication to work, Anonymous authentication needs to be turned off on IIS and you need to use Windows authentication.

Should you still need to use SO login for some users, you need to install second instance of SuperOffice Web and keep Anonymous authetication there.

Single Sign On

The Single Sign On guide is still valid, apart from one sentence: SSO will not work when using the recommended installation scenario, but the user may still authenticate with their AD username and password. - this is not valid since 10.1.5 and the guide will be changed accordingly soon.

Service and Pocket CRM

Customer Service & Pocket CRM must use a separate NetServer site where Windows Authentication is turned off. It can point to the same physical path as NetServer for Sales but with its own IIS Application with Windows auth turned off.

Travel Gateway

For Travel gateway system user is enough.

20 Sep 2022 | 11:50 AM
Hi Martin,
You don't mention it, but I interpret your post as that system accounts fall under the same category as SO logins, right?

//Jan
20 Sep 2022 | 11:59 AM

Hi Martin

Thank you for clarifying. The changes are needed and if it breaks it breaks.

I knew about this forum thread and the upcoming changes. 

The missing part here is the lack of notice in release notes.

Since we were not aware of the changes, when installing 10.1.5

20 Sep 2022 | 12:05 PM

"There were several issues with this functionality. The biggest problem was, if a user had the same username in SuperOffice and in AD, the AD account could be locked out after several wrong logging attempts."

I don't see how this is an issue, this is exactly what you want if multiple failed login attempts are tried the account SHOULD be locked. This is one of the reasons we recommend customers using AD login, so you don't have to do seperate user management in SuperOffice for when a user leaves or changes password.

Essentialy the setup of SuperOffice is now a lot more complicated when you have customers that use both AD login and SuperOffice. Previously you could have one installation for AD users, Non-AD users, Service and Mobile CRM. Now you always need 2. And is this even going to work correctly if AD users use one application and non-ad another? Does SuperOffice WebTools/Maillink handle this correctly? does Service handle it correctly that sometimes users need to be send to application 1 and others to application 2? (required to set a base url per user/group?). Was this tested?

And you mention that Mobile CRM needs an installation with anonymous auth enabled, how are AD users then supposed to login to Mobile CRM?

 

 

 

20 Sep 2022 | 12:09 PM
Hear hear ;-)
20 Sep 2022 | 12:25 PM
I agree with your comments.
(I think it should be enough to have new application on the same root/site pointing to the same installation and on that application using AdAuth or Annonymous, the oposit of main application) . So no need for a completely new site ? eg still one installation. I almost always have a separate netServer for Service , and sometimes a separate netServer for pocket/Mobile. Depends on customer infrastructure and so. But since we were forced to install everything under same root often the built in netserver for service has been used for pocket/mobile (simplifed installation a bit)
20 Sep 2022 | 01:40 PM

This might be connected, we have seen a strange behavior after upgrading to 10.1.15 for all customers that does not use Windows Auth (ourself included), whenever we logout / get timed out we get a Windows auth window, even though we dont have windows Auth enabled anywhere in the IIS.

Anyone else also expirenced it?

20 Sep 2022 | 12:59 PM
ah, Per => I have seen this in a couple of test installation (started already in 10.1.2) . You have to click cancel a few or sometime many times ot hit F5 to get back to unsigned in logon screen?
20 Sep 2022 | 01:33 PM
Ok, interesting info! It would be interesting to find out if there is some kind of configurational workaround that fixes this. It doesn't sound like a problem that you would like to introduce to a customer when upgrading to SO 10 and if you would like to avoid it, the only alternative is to go with 10.0.6 then, based on youre experiences.
21 Sep 2022 | 10:05 AM
I have found out that disabling basic auth (eg only having annonymous on the sales application on iis) seems to get rid of the Windows Security pop up...( only tested in a test environment 10.1.5 initital relase (SuperOffice CRM OnSite 10.1 Release_OnSite_10.1.5_2022.09.08-03))
21 Sep 2022 | 11:47 AM
Ah, ok. I only use AnonAuth or WinAuth, everything else disabled. So that sounds good! Thanks for the input!
21 Sep 2022 | 02:04 PM
No dice in the latest version, only using annonymous on every site and app in the IIS.
I´ll reg it as a bug.
24 Sep 2022 | 05:43 AM

If we need two netserver installations for Mobile CRM, how does the mobile client know which netserver to use? 

If it need 2 different urls' it can be very confusing for the users to know which to use.

 

20 Sep 2022 | 01:36 PM
The url to use can be altered in the pocket-mail template and via web[dot]config to point to another netServer...
20 Sep 2022 | 01:42 PM

It is my understanding that Intune gradually is replacing AD membership of computers.  This will in practice mean that computer logs in with Azure AD instead of classic on-prem AD.

SuperOffice CRM Online has good support for Azure AD.  SuperOffice CRM for on-site only support classic on-prem AD.

It would be interesting to learn why customers choose to have some users in AD and some not:

  • Is it a license issue where IT is using system users?
  • Are only some of the users in on-prem AD and the rest in Azure AD
  • Other?
21 Sep 2022 | 09:18 AM
In my case, the non-AD-user is normally the admin-user that I use on the server, when doing different stuff. This as SSO-workflows on an onsite SO-server is often not working out of the box. Per default there are loopback-security-policies that need to be disabled and sometimes other problems. So when you are installing and testing stuff out, it's simpler to not also have to handle a bunch of WinAuth-SSO-related problems.
21 Sep 2022 | 09:47 AM

Hi,

InTune is gradually replacing classic AD joined machine's for a lot of customers, but that doesn't mean that they suddenly can migrate to SuperOffice Online (or if that is even economically feasible). The fact that Azure AD login (Using OAuth flow which then includes MFA) is only supported in Online is already a major issue for some customers.

At many customers there is a mix of AD and non-AD users for various reasons, for example:
- Users without AD because they are for external access like consultants or developers
- 'Shared' Accounts that are purely used in a read-only role for people in a production facility or something to look up customer info


Currently we have a very simple setup at many customers, one IIS Site with two applications. One 'Sales' and one 'Service'. External apps, Mobile CRM and Service can all use the same netserver instance.

With this changes we would need atleast 3 applications:
- Sales with Window auth,
- Sales with anonymous auth for Service, Mobile CRM (how do you authenticate Mobile CRM with AD credentials?) and External Apps
- Service

For existing customers this also means that all Mobile CRM users will need to reconfigure since they need another netserver url. And I really wonder if WebTools/Maillink/Service can handle two sales applications where it differs per user which one is used.

21 Sep 2022 | 09:37 AM
WebTools and Maillink should support IIS authentication. Mobile CRM does probably not. Hence; we need to figure out what we should do to support Mobile CRM when users log in with on-prem AD in SuperOffice CRM on-site.
21 Sep 2022 | 11:58 AM
Reinstate the previous support for authentication using AD credentials and respect the 'Ignore AD username authentication' preference so you avoid the 'User had the same username in SuperOffice and in AD, the AD account could be locked out after several wrong logging attempts.' issue?
21 Sep 2022 | 12:09 PM

hi, before lunch I did found out that a hotfix was relaase for 10.1.5 the 18th of september ? 

What did that solve? Relesenotes still say 13th september as relese date. (and no info on the notes about a hot release) 

Did get suspicious when finding new nuget-packages... released today...
Only first when pushing DL-button you find that information in the filename.

What is happening.

The timing is some what bad with strunglish onprem version since we fight the date of basic auth shutdown by MS...

//Anders

21 Sep 2022 | 11:30 AM
10.1.5 OnSite Hotfix1:
Release_OnSite_10.1.5_2022.09.18-01
Only one fix is included:
33492 "Document Mailing: The generated pdf for document mailing is corrupted"
21 Sep 2022 | 11:56 AM
As Frode stated, the latest patch release was for Bug: 33492 "Document Mailing: The generated pdf for document mailing is corrupted".

Two nuget pushes today due to my mistake on the initial 10.1.5.2030 packages, where NetServer Core referenced an older version of the CDD package. Therefore I corrected it and pushed 10.1.5.2031 - which contains the 10.1.5.2030 dlls, but with the correct package version references.

The authentication issue is bigger than a one day regression fix.

For JB... my name might be on the topic thread, but it should have been someone else on the product team to announced this.
21 Sep 2022 | 12:04 PM

Hello all engaged SuperOfficers.

I must admit: We did a mistake.

We had the best of intentions when it comes to solving a problem and following best practices towards security. Our decision was too quick.

That does not help you right now, so we have decided to re-implement support for a mix of AD users and non-AD users in our Onsite solution

This will be done in version 10.1.6 with ETA 05.10.2022 and until this is released, you should use 10.1.2 for companies that uses AD to authenticate in SuperOffice Onsite.

In a longer term (I’m unable to state a date), we will aim at offering a similar way to authenticate in Onsite installations as we do in Online. This will be based on OpenID connect / Oauth. This will then replace the AD implementation we offer now.  

 

Thank you for your engagement.

PS! The Release item on the Community should be updated with correct information

Erik

21 Sep 2022 | 02:19 PM
Thanks for the update Erik! Looking forward to the OpenID connect / OAuth solution being implemented for OnSite :)
21 Sep 2022 | 02:21 PM
Great news Erik, thanks!
21 Sep 2022 | 08:53 PM
Thanks for the news and information!
22 Sep 2022 | 06:49 AM

That is great news, Erik.

 

21 Sep 2022 | 02:40 PM

For all subscribed/watching this thread, 10.1.6 has been released yesterday, crisis averted :)

13 Oct 2022 | 07:24 AM
Yes, great news!
Does anyone had the chance to try the 10.1.6 out?
13 Oct 2022 | 07:53 AM

I would like to ask the RnD team to add links with further information regarding the added "breaking changes"-items below, so they could be understood in detail.

  • NetServer requires startup bootstrap prior to API invocations
    • Based on below mentioned answer this only affects the SOAP-API, which could be relevant info for Onsite-integrations.
  • Removed LanguageInfoCache
  • Changed ImpersonationContext
  • Removed CacheBase, all caches to inherit new CacheBaseV2
  • Modern authentication (OAuth 2.0) against SuperOffice Inbox and Service mailboxes over IMAP (Microsoft 365 only)
    • What differs exactly when it comes to the OAuth 2.0 functionality in 10.1.x vs 10.0.x as OAuth2-support is also included in 10.0.6?
    • I have heard it mentioned that 10.1.x now includes some kind of button that makes it possible to circumvent the Auto-Configuration workflow when adding a OAuth-connected mailbox in Service (which is great if it's true as the automatic workflow at least have given me some problems in a hybrid-environment)

When I asked this specific question for the 10.1.2-release internally, I got the below answer, which might answer some of the parts, but might not give the complete detail picture. But maybe some of these links should be included in the release info to make it easier to find complementary info at least?

1. NetServer requires bootstrap prior to API invocation

All relevant links and details are found in this announcement:
https://community.superoffice.com/en/technical/forums/general-forums/announcements/the-future-of-netserver/

Affects onsite integration that use the following NetServer nuget packages:
https://www.nuget.org/packages/SuperOffice.NetServer.Core
https://www.nuget.org/packages/SuperOffice.NetServer.Services

Integrations using REST web services are unaffected.

2. Modern authentication (OAuth 2.0) against SuperOffice Inbox and Service mailboxes over IMAP (Microsoft 365 only)

This is in product functionality that facilitates OAuth 2.0 authorization with Microsoft services and doesn't warrant additional details. Follow the link and read the specification contents to better understand OAuth details. All we did was implement a client that follows the standard (Authorization code) flow.

I'll forward your experience to the team responsible for this implementation and try to get some answers for you, or at least get you connected to the right person to ask.

3. The following question relates to NetServer core classes and functionality. Only affects people who build onsite plugins.

4. As for used URLs for the OAuth requirements

SuperOffice uses several endpoints under the following URL:

https://accessgateway-{env}.superoffice.com/

Where {env} is either sod, stage or prod.

5. The auto-config workflow (Marcus's own summary)

Here both MX-lookups and the Thunderbird auto-config database is used to try to identify a O365-related domain. If identified, you get redirected to Microsoft s Oauth2 based login.

The Thunderbird lookup uses the following endpoint:
https://autoconfig.thunderbird.net/v1.1/<the domain to search for>

Examples:
https://autoconfig.thunderbird.net/v1.1/office365.com (example of existing domain in the database)
https://autoconfig.thunderbird.net/v1.1/superoffice.com (example of non-existing domain in the database)

Few company domains are found in the Thunderbird-database, so the functionality is mainly based on the MX-lookup.

In some environments, potentially hybrid-environments (both using O365 and internal Exchange Servers), the MX-pointer might not identify as a Microsoft-related domain. In these cases it might be needed to use the "@onmicrosoft.com"-alias for an email account to enforce it to do a lookup related to a Microsoft-domain, to get to the login-page.

If I understand it correctly, this have been solved in SO 10.1.5 and above, by making it possible to click a button to get to Microsofts login page directly, without trying the auto-config-workflow.

The OAuth2-experience for Service - Complementary documentation needed

  • What's completely missing in the docs (https://docs.superoffice.com/email/service.html) is the fact that using OAuth2-auth for a mailbox in Service, is dependant on a SO O365/Azure Enterprise App as a middlehand, that needs to be given app access to all mail boxes in a customers O365-environment. A detail that in itselfs could be seen as an issue in some security focused organizations and needs to be discussed with the customer. I have such a case right now.

    If there is any practical way of locking down the app access to only give access to certain mail accounts in the customers environment, maybe by using security policies or roles in O365, it would be in SuperOffice's interest to maybe give some helpful guidance how this could be implemented in O365, as I can see this to be a recurring discussion with larger customers.

  • Adding at least the first OAuth-mailbox, might require the access to an O365 Global Admin at the customers for accepting the app. This information is needed for the correct planning and access to the right resources.

  • The authentication workflow will involve a bunch of undocumented endpoints used in the communication. For onsite-environments that is locked down from internet, these explicit endpoints needs to be whitelisted in the firewall, so they need to be added to the documentation.

  • An architectural overview diagram of the involved main-components and the workflows wouldn't hurt. :)

 

13 Oct 2022 | 09:35 AM

Add reply