2015-04-12 16 views
14

Ho utilizzato Owin in passato per creare un endpoint token nei miei progetti Api Web Mvc per fornire token oauth 2.0 con "Resource Owner Password Credentials" tipo di sovvenzione dove il provider di token di accesso controlla un utente del database tabella per verificare la validità delle credenziali fornite dal client mobile (app multipiattaforma sviluppata con Visual Studio Tool per Cordova).Token Oauth 2 per account di Active Directory

In questo progetto, l'API Web sarà consumato da un app mobile multipiattaforma utilizzato da dominio Directory Windows Active conti

Vorrei utilizzare Owin OAuth 2.0 per concedere un token di accesso a questi utenti, ma io non so come verificare la validità di queste credenziali.

Quello che stavo pensando è quello di mettere il punto finale /token dietro "basic authentication" e nel codice del token di accesso Provider ottenere l'utente da l'identità che, in caso di autenticato utilizzato, dovrebbe essere creato automaticamente dal gasdotto Asp.net.

È qualcosa che potrebbe funzionare?

Sai un'idea migliore per utilizzare Oauth 2.0 per account Windows AD?

Nota:

Sto anche studiando se Active Directory è in grado di fornire un 2,0 endpoint Oauth da solo.

+0

Perché è necessario emettere i propri token di accesso se Azure AD può farlo per voi: https://msdn.microsoft.com/en-us/library/azure/dn645545.aspx? poiché il flusso per entrambi è OAuth 2.0 standard, i client non cambieranno –

+0

Perché non stiamo usando AD su Azure. – systempuntoout

+0

scusa, sono confuso dall'altra risposta: -; –

risposta

8

Ecco una panoramica dettagliata su come utilizzare Servizi federali Active Directory per ottenere un token OAuth2. https://technet.microsoft.com/en-us/library/dn633593.aspx. Dovrai seguire tutti i link in basso per ottenere l'intera procedura.

Si noti che si riferisce all'utilizzo di Windows Azure AD Authentication Library for .NET. Tuttavia, in base a tale documentazione, tale libreria viene utilizzata sia per Azure Active Directory che in locale Active Directory.

Per quanto riguarda il flusso di lavoro, una volta autenticato sarete in grado di ottenere e presentare un token portatore alla vostra WebAPI. Quindi WebAPI "convalida la firma del token per assicurarsi che sia stato emesso da ADFS, controlla se il token è ancora valido e non è scaduto e potrebbe eventualmente convalidare altre attestazioni nel token. è autorizzato e le informazioni richieste sono inviate nella risposta o non sono autorizzate e non verranno inviati dati ". - https://technet.microsoft.com/en-us/library/dn633593.aspx

+0

Link interessanti, grazie. – systempuntoout

7

Si potrebbe utilizzare ADFS 3.0 sulla parte superiore di AD che fornirebbe con OAuth funzionalità Server 2.0 Autorizzazione: http://blog.scottlogic.com/2015/03/09/OAUTH2-Authentication-with-ADFS-3.0.html

Mettere l'endpoint token di dietro "l'autenticazione di base" non aiuta voi, perché saresti l'autenticazione del cliente sull'endpoint del token, non sull'utente. Tuttavia, è possibile inserire l'endpoint di autorizzazione dietro "l'autenticazione di base".

+0

Come posso utilizzare il token fornito da ADFS su un sito MVC Asp.net? – systempuntoout

+0

http: //www.cloudidentity.com/blog/2013/10/25/securing-a-web-api-con-adfs-on-ws2012-r2-got-even-easy/ –

+0

In aumento per l'ultimo collegamento, vediamo se qualcuno ha qualcosa di meglio. – systempuntoout

Problemi correlati