2016-04-30 20 views
6

finora non sono stato in grado di farlo funzionare con la struttura del bot. Ho trascorso tutto il giorno ma sono riuscito a ottenere solo l'esempio di .net api (https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet) che funziona con AD B2C. Non sono sicuro di dove si afferra il token portatore che voglio passare per BotUserData ...come ottenere Azure Active Directory B2C che funziona con Bot Framework?

Ho provato seguente https://azure.microsoft.com/en-us/blog/bot-framework-made-better-with-azure/

ma in realtà la soluzione non costruire con successo e ho fatto ricorso a sto solo prendendo il codice da lì e nel mio modello di esempio di framework del computer .... tuttavia, quando mi chiede di accedere tramite MS e lo faccio, non sono in grado di procedere e non sembra che quel blog stia usando l'AD B2C politiche.

così come si integra AD B2C con Bot Framework? È possibile chiamare/Account/SignIn URL dal framework dei bot per autenticare l'utente? In seguito, come cattureresti il ​​token e lo passeresti su BotUserData?

+0

Non crea correttamente: hai errori? –

+0

@AlexBelotserkovskiy sì: https://github.com/jeffhollan/BotFrameworkSample/issues/1 – user299709

risposta

5

Si potrebbe dare un'occhiata allo Facebook Auth sample per avere un'idea di un potenziale flusso per lo scenario di autenticazione. Per Azure AD, è necessario eseguire un flusso simile.

Diciamo che l'utente invia un messaggio di "accesso" al proprio bot. Il bot dovrebbe rispondere con un URL di autenticazione e chiedere all'utente di accedere al servizio utilizzando quell'URL. È possibile utilizzare il metodo GetAuthorizationRequestURL di ADAL per quello.

Quindi si avrà un'API Web che esporrà fondamentalmente un endpoint che sarà l'URL di risposta di Azure AD. Una volta che gli utenti hanno completato l'accesso, verrà inviato un messaggio all'API Web in cui sarà possibile ottenere il codice di autorizzazione ed eseguire le chiamate per ottenere il token di accesso. Dopodiché puoi semplicemente fare lo stesso che stanno facendo nello Facebook Sample Web API che implica riprendere la conversazione con il Bot, inviare un messaggio con il token di accesso (quindi può essere persistente nel sacchetto PerUserInConversationData (controllare la riga di codice this).

dopo che si deve il token di accesso a disposizione per effettuare qualsiasi chiamata che richiede un token di accesso.

Aggiornamento

ci sono due nuovi campioni che si potrebbe desiderare di dare un'occhiata dal momento che stanno attuando il flusso di lavoro in discussione

Spero che questo aiuti.

+0

funzionerà con AD B2C o devo utilizzare AD di vaniglia? – user299709

+0

@ user299709 con AD di vaniglia funziona sicuramente. Non l'ho provato con B2C, ma ho il sospetto che sarà abbastanza simile. –

+0

Lo sto testando ... – user299709