2017-07-19 2 views
-2

Pendant deux jours, je tente d'utiliser un B2C Azure AD avec Amazon Alexa pour le compte relier sans succès. Ni Alexa, ni l'annonce b2c offrent un moyen de déboguer et je ne peux pas voir l'échange entre les services.Amazon Alexa Linking compte ne fonctionne pas avec Azure AD B2C

Est-ce qu'il ya quelqu'un qui a réussi à le faire?

EDIT: Merci à Saeed Akhter, je réussis enfin dans la configuration Alexa/B2C.

En B2C AD:

  1. Créer une application qui représente mon application web appelé par les compétences alexa.
    • web Inclure api: oui
    • implicite Autoriser: oui
    • Configurer un ID App (https://{tenant}/{myapi})
    • Enregistrer
    • Publier la portée avec un nom descriptif et une valeur. L'étiquette importante est la valeur et non le nom.
    • Enregistrer
  2. Créer une seconde application pour Alexa
    • Inclure web api: oui
    • Autoriser implicite: oui
    • URL de réponse: définissez les deux urls fournies par Alexa
    • Enregistrer
    • Aller à Api Accès> Ajouter> sélectionner l'API précédente, sélectionnez tous et enregistrer

Dans le panneau de configuration Alexa:

  • URL d'autorisation: prendre l'url trouvée dans https://login.microsoftonline.com/{tenant}/v2.0/.well-known/openid-configuration?p={policy}
  • id client: l'identifiant d'application de votre application Alexa dans B2C
  • liste des domaines: Connexion .microsoftonline.com
  • Champ d'application:
    • Openid
    • https://{your Alexa application id you setted in B2C}/{your custom scope value}
  • jeton d'accès URI: prendre l'url trouvée dans https://login.microsoftonline.com/{tenant}/v2.0/.well-known/openid-configuration?p={policy}
  • client secret: Le secret généré par B2C pour votre application Alexa

Après cela, si vous essayez la lien de compte d'Alexa, tout devrait fonctionner!

+0

Bonjour et bienvenue sur StackOverflow. Veuillez prendre le temps de lire la page d'aide, en particulier les sections intitulées ["Quels sujets puis-je poser à propos d'ici?"] (Http://stackoverflow.com/help/on-topic) et ["Quels types de questions dois-je évitez de demander? "] (http://stackoverflow.com/help/dont-ask). Et plus important, s'il vous plaît lire [la liste de contrôle de la question Stack Overflow] (http://meta.stackexchange.com/q/156810/204922). Vous pouvez également en savoir plus sur [Exemples minimaux, complets et vérifiables] (http://stackoverflow.com/help/mcve). – HaveSpacesuit

Répondre

1

Disclaimer: Je n'ai pas encore essayé et désolé de cela est une resucée de choses que vous avez déjà essayé.

Je balayais la documentation d'Amazon ici: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/linking-an-alexa-user-with-a-user-in-your-system

Il semble possible que vous pourriez obtenir ce travail avec Azure B2C AD émettant des jetons d'accès qui sont ensuite acceptés par votre propre ressource Web. Il semble que ce serait idéal pour faire fonctionner la subvention du code d'autorisation si possible (plutôt qu'implicite).

Vous aurez besoin de deux enregistrements d'applications: 1. Alexa enregistrement App 2. Votre inscription des ressources Web

Dans la lame B2C Azure AD, l'enregistrement de votre ressource Web devra définir une étendue personnalisée. Votre ressource Web aurait besoin d'accéder à cette portée, voir: https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-access-tokens#granting-permissions-to-a-web-api

On dirait que l'App Alexa client_id (appelé ID d'application dans la lame B2C Azure AD Propriétés App) doit être entré dans le portail des développeurs d'Amazon lors de la configuration lien de compte avec la "valeur de portée" que vous venez de définir dans la lame Azure AD B2C (n'utilisez pas le "nom de portée" qui est juste une description de la portée)

Pour l'URL d'autorisation et l'URL de jeton, vous pouvez trouver en cliquant sur l'URL de métadonnées "bien connue" en haut de la lame lorsque vous ouvrez une stratégie dans le portail Azure. Dans le document de métadonnées, vous trouverez "authorization_endpoint" et "token_endpoint".

Est-ce le chemin que vous avez essayé jusqu'à présent? Pouvez-vous me fournir des détails sur les cas d'échec? L'écran de connexion apparaît-il? rencontrez-vous une erreur?

+0

Merci beaucoup Saeed, vous sauvez ma journée! –