Azure / Azure/data-api-builder

[Bug]: Token Validation Failed

Ouverte
#2,313 0 commentaires 1 réaction 0 personnes assignées Voir sur GitHub
bug triage
Langage dominant
C#
Étoiles
1.5k
Forks
370
Merge moyen
3 j 22 h
PR mergées (30 j)
9

Description

### What happened?

Using the JWT authentication method results in a token validation failure. The signing keys were not getting pulled from the identity provider. Resulting in a IDX10500 error. Doing some digging, I found this discussion in the Duende Identity Server github repo. https://github.com/DuendeSoftware/Support/issues/1197.

The issue was that the following two nuget packages had mismatched versions, Microsoft.IdentityModel.JsonWebTokens and Microsoft.IdentityModel.Protocols.OpenIdConnect. Microsoft.IdentityModel.JsonWebTokens was on version 7.5.0 and Microsoft.IdentityModel.Protocols.OpenIdConnect was at version 6.35.0. Updating Microsoft.IdentityModel.Protocols.OpenIdConnect to 7.5.0 and rebuilding the projects resulted in successful authentication.

Suggested solution, is to make sure that these two packages remain at the same version.

### Version

Microsoft.DataApiBuilder 1.1.7+74ea6c5f37f8629fd7f8b13fc56027bf0bf0a93a

### What database are you using?

Azure SQL

### What hosting model are you using?

Local (including CLI), Container Apps

### Which API approach are you accessing DAB through?

REST

### Relevant log output

```Text
PS C:\...\src>dotnet list package --include-transitive | sls "Microsoft.IdentityModel|System.IdentityModel
>> "

> Microsoft.IdentityModel.Abstractions 7.5.0
> Microsoft.IdentityModel.JsonWebTokens 7.5.0
> Microsoft.IdentityModel.Logging 7.5.0
> Microsoft.IdentityModel.Protocols 6.35.0
> Microsoft.IdentityModel.Protocols.OpenIdConnect 6.35.0
> Microsoft.IdentityModel.Tokens 7.5.0
> Microsoft.IdentityModel.Abstractions 7.5.0
> Microsoft.IdentityModel.JsonWebTokens 7.5.0
> Microsoft.IdentityModel.Logging 7.5.0
> Microsoft.IdentityModel.Protocols 7.1.2
> Microsoft.IdentityModel.Protocols.OpenIdConnect 7.1.2
> Microsoft.IdentityModel.Tokens 7.5.0
> Microsoft.IdentityModel.Abstractions 7.5.0
> Microsoft.IdentityModel.JsonWebTokens 7.5.0
> Microsoft.IdentityModel.Logging 7.5.0
> Microsoft.IdentityModel.Protocols 6.35.0
> Microsoft.IdentityModel.Protocols.OpenIdConnect 6.35.0
> Microsoft.IdentityModel.Tokens 7.5.0
> Microsoft.IdentityModel.Abstractions 7.5.0
> Microsoft.IdentityModel.JsonWebTokens 7.5.0
> Microsoft.IdentityModel.Logging 7.5.0
> Microsoft.IdentityModel.Protocols 7.1.2
> Microsoft.IdentityModel.Protocols.OpenIdConnect 7.1.2
> Microsoft.IdentityModel.Tokens 7.5.0
> Microsoft.IdentityModel.JsonWebTokens 7.5.0 7.5.0
> Microsoft.IdentityModel.Abstractions 7.5.0
> Microsoft.IdentityModel.Logging 7.5.0
> Microsoft.IdentityModel.Protocols 6.35.0
> Microsoft.IdentityModel.Protocols.OpenIdConnect 6.35.0
> Microsoft.IdentityModel.Tokens 7.5.0
> Microsoft.IdentityModel.JsonWebTokens 7.5.0 7.5.0
> Microsoft.IdentityModel.Abstractions 7.5.0
> Microsoft.IdentityModel.Logging 7.5.0
> Microsoft.IdentityModel.Protocols 6.35.0
> Microsoft.IdentityModel.Protocols.OpenIdConnect 6.35.0
> Microsoft.IdentityModel.Tokens 7.5.0
> Microsoft.IdentityModel.Abstractions 7.5.0
> Microsoft.IdentityModel.JsonWebTokens 7.5.0
> Microsoft.IdentityModel.Logging 7.5.0
> Microsoft.IdentityModel.Protocols 6.35.0
> Microsoft.IdentityModel.Protocols.OpenIdConnect 6.35.0
> Microsoft.IdentityModel.Tokens 7.5.0
> Microsoft.IdentityModel.Abstractions 7.5.0
> Microsoft.IdentityModel.JsonWebTokens 7.5.0
> Microsoft.IdentityModel.Logging 7.5.0
> Microsoft.IdentityModel.Protocols 6.35.0
> Microsoft.IdentityModel.Protocols.OpenIdConnect 6.35.0
> Microsoft.IdentityModel.Tokens 7.5.0
> Microsoft.IdentityModel.Abstractions 7.5.0
> Microsoft.IdentityModel.JsonWebTokens 7.5.0
> Microsoft.IdentityModel.Logging 7.5.0
> Microsoft.IdentityModel.Protocols 6.35.0
> Microsoft.IdentityModel.Protocols.OpenIdConnect 6.35.0
> Microsoft.IdentityModel.Tokens 7.5.0
> Microsoft.IdentityModel.Abstractions 7.5.0
> Microsoft.IdentityModel.JsonWebTokens 7.5.0
> Microsoft.IdentityModel.Logging 7.5.0
> Microsoft.IdentityModel.Protocols 6.35.0
> Microsoft.IdentityModel.Protocols.OpenIdConnect 6.35.0
> Microsoft.IdentityModel.Tokens 7.5.0
> Microsoft.IdentityModel.Abstractions 7.5.0
> Microsoft.IdentityModel.JsonWebTokens 7.5.0
> Microsoft.IdentityModel.Logging 7.5.0
> Microsoft.IdentityModel.Protocols 6.35.0
> Microsoft.IdentityModel.Protocols.OpenIdConnect 6.35.0
> Microsoft.IdentityModel.Tokens 7.5.0
> Microsoft.IdentityModel.Abstractions 7.5.0
> Microsoft.IdentityModel.JsonWebTokens 7.5.0
> Microsoft.IdentityModel.Logging 7.5.0
> Microsoft.IdentityModel.Protocols 7.1.2
> Microsoft.IdentityModel.Protocols.OpenIdConnect 7.1.2
> Microsoft.IdentityModel.Tokens 7.5.0
> Microsoft.IdentityModel.Abstractions 7.5.0
> Microsoft.IdentityModel.JsonWebTokens 7.5.0
> Microsoft.IdentityModel.Logging 7.5.0
> Microsoft.IdentityModel.Protocols 6.35.0
> Microsoft.IdentityModel.Protocols.OpenIdConnect 6.35.0
> Microsoft.IdentityModel.Tokens 7.5.0
> Microsoft.IdentityModel.Abstractions 7.5.0
> Microsoft.IdentityModel.JsonWebTokens 7.5.0
> Microsoft.IdentityModel.Logging 7.5.0
> Microsoft.IdentityModel.Protocols 7.1.2
> Microsoft.IdentityModel.Protocols.OpenIdConnect 7.1.2
> Microsoft.IdentityModel.Tokens 7.5.0
> Microsoft.IdentityModel.Abstractions 7.5.0
> Microsoft.IdentityModel.JsonWebTokens 7.5.0
> Microsoft.IdentityModel.Logging 7.5.0
> Microsoft.IdentityModel.Protocols 6.35.0
> Microsoft.IdentityModel.Protocols.OpenIdConnect 6.35.0
> Microsoft.IdentityModel.Tokens 7.5.0
> Microsoft.IdentityModel.Abstractions 7.5.0
> Microsoft.IdentityModel.JsonWebTokens 7.5.0
> Microsoft.IdentityModel.Logging 7.5.0
> Microsoft.IdentityModel.Protocols 7.1.2
> Microsoft.IdentityModel.Protocols.OpenIdConnect 7.1.2
> Microsoft.IdentityModel.Tokens 7.5.0
```

### Code of Conduct

- [X] I agree to follow this project's Code of Conduct

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par localiser les références de packages du projet pour Microsoft.IdentityModel.JsonWebTokens et Microsoft.IdentityModel.Protocols.OpenIdConnect, puis examinez le graphe des dépendances affiché par `dotnet list package --include-transitive`. Alignez les versions des packages concernés et vérifiez que l’authentification JWT récupère les clés de signature sans échecs IDX10500.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
azure, csharp, sql
Domaine
api, authentication, backend, databases
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.