danielgerlag / danielgerlag/workflow-core

Always Encrypted and Keyword not supported : Authentication

Open
#1,301 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
5.9k
Forks
1.3k
Avg merge
1d 1h
Merged PRs (30d)
5

Description

**Describe the bug**

We try to connect WorkflowCore in our .Net core app to our Azure SQL db via Microsoft Entra ID, using the same connection string AND Microsoft entra ID as our app uses (it is an Always Encrypted DB that only allows Entra ID authentication):

Server=somesqlserver.database.windows.net;Database=somedb;Trusted_Connection=False;Encrypt=True;Column Encryption Setting=enabled;MultipleActiveResultSets=true;persist security info=True;Authentication=Active Directory Password;user id=some@entraId.com;password=SomePassword;

When the workflowhost started initially it complained about the "Column Encryption setting=enabled"
So we removed that - (we should NOT have to remove anything from our connection string since it will give issues with always encrypted) :

Server=somesqlserver.database.windows.net;Database=somedb;Trusted_Connection=False;Encrypt=True;MultipleActiveResultSets=true;persist security info=True;Authentication=Active Directory Password;user id=some@entraId.com;password=SomePassword;

When the workflowhost started next it threw an error : Keyword not supported : Authentication
We had to setup our test SQL server to also allow SQL server authtentication, and change the connection string to this

Server=somesqlserver.database.windows.net;Database=somedb;Trusted_Connection=False;Encrypt=True;MultipleActiveResultSets=true;persist security info=True;user id=thecloudamin;password=SomePassword;

Connection strings without these keywords (the "old" way) succeed, but it should support to use the authentication keyword and the Always Encrypted option.

**To Reproduce**
Use a connectionstring that uses the keyword "Authentication" and/or the "Column Encryption Setting=enabled;" options

**Expected behavior**
It allows connection with microsoft entra id and always encrypted and thus accepts AT MINIMUM the keyword "Authentication" and optionally the "Column Encryption Setting=enabled;" (using latest Microsoft.Data.SqlClient)

**Additional context**
None

Contributor guide

No contributing guide indexed for this repository

Research direction

No files or tests are named. Start by reproducing the workflow host connection with the provided Microsoft Entra ID and Always Encrypted connection strings, then trace where the connection string is parsed or passed to the database provider. Done means the workflow host accepts the Authentication and Column Encryption Setting options and connects to the configured Azure SQL database.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, csharp, sql
Domain
authentication, backend, database
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.