2017-03-24 3 views
1

J'ai précédemment eu un client riche authentifiant avec Windows 2012 R2 ADFS et documenté here. Nous passons à Windows 2016 RTM ADFS (parce que 2012 R2 ne supporte pas correctement Web Apps/ADAL.js) et j'ai du mal à traduire/étendre cette configuration pour fonctionner. Tout ce que je fais, je reçois une erreur bientôt que le client a frappé ADFS:Comment puis-je configurer l'approbation des clients et des tiers de confiance sur Windows 2016 RTM ADFS pour un client enrichi ou une application Web?

MSIS9321: Received invalid OAuth request. The client 'LL957F23-D6C5-4D52-8A40-4F26B3408888' is forbidden to access the resource '<relying-party-url>' 

J'ai trouvé plusieurs réponses à ce problème pour les versions aperçu de ADFS 2016, et tout suggère la même solution - pour configurer le Invoquant partie utilisant Powershell et spécifiez l'option suivante:

-IssuanceAuthorizationRules '=> issue(Type = "http://schemas.microsoft.com/authorization/claims/permit", Value = “true”);' 

Cependant, j'ai pris le code exact indiqué par ces solutions et essayé à la fois le réglage manuel de la politique de contrôle d'accès à « Autoriser tous » (par défaut) et, alternativement, en utilisant la -IssuanceAuthorizationRules et ne résout pas ce problème.

Est-ce que quelqu'un a d'autres solutions pour cette erreur ou expérience avec ADFS sur Win 2016 RTM?

Répondre

4

OK, j'ai ce travail. Il existe une configuration supplémentaire par rapport à ADFS sur Windows 2012 R2. Sur Windows Server 2016 ADFS, nous devons configurer un groupe d'applications qui relie un ou plusieurs clients au (x) service (s) (parties utilisatrices) qu'ils souhaitent utiliser.

Ouvrez la console de gestion ADFS et sur le côté gauche clic droit sur « Groupes d'application » et « Ajouter un groupe d'application ... »

First tab in the "Add Application Group" wizard

Choisir un des modèles client-serveur permet Vous pouvez configurer un client et un serveur liés en un seul passage de l'assistant. Si, comme moi, vous avez déjà défini votre application client, vous pouvez sélectionner l'API Web autonome et lier votre client existant ultérieurement. Dans ce cas, l'assistant de l'assistant Web n'a besoin que de l'identificateur d'API Web - URL de ressource cible ou autre identificateur de chaîne (il doit être unique pour toutes les parties utilisatrices sur ADFS). À la page 3, vous choisissez une politique de contrôle d'accès - J'ai pris la valeur par défaut pour ne pas "Permettre tout le monde". En page 4, vous pouvez ajouter vos clients existants qui ont besoin de jetons pour accéder à l'API Web dans le panneau supérieur et spécifier les étendues autorisées: comme l'autorisation OpenID Connect ou la possibilité de demander un jeton d'actualisation.

Page 4 of the wizard when adding a standalone web api

Et voilà. Cela s'est débarrassé de l'erreur The client is forbidden to access the resource pour moi. Je n'ai pas eu besoin d'utiliser le -IssuanceAuthorizationRules personnalisé décrit dans d'autres messages.