Richiedi l’autenticazione da ADFS

Provo a connettermi a un’istanza di SharePoint Online tramite un’applicazione WPF. Ho trovato questo articolo che descrive una ansible soluzione, ma il problema è che l’istanza specifica ha un Active Directory Federation Services (ADFS) di fronte e non so come ottenere il token di autenticazione. (Non riesco a creare un certificato per la mia applicazione per l’autenticazione con gli adfs.)

Chiunque lo abbia già fatto e può supportarmi con alcuni frammenti di codice?

Ho giocato con Fiddler. Fondamentalmente il stream va così:

  • Ottieni un token SAML da ADFS
  • Pubblicalo su https://login.microsoftonline.com/login.srf (il corpo dovrebbe essere wa=wsignin1.0, wresult=…token… and wctx=MEST=0&LoginOptions=2&wa=wsignin1%2E0&rpsnv=2&ct=1343219880&rver=6%2E1%2E6206%2E0&wp=MBI&wreply=https%3A%2F%2Fspirit365%2Esharepoint%2Ecom%2F%5Fforms%2Fdefault%2Easpx&id=500046&cbcxt=mai&wlidp=1&guest=1&vv=910&mkt=EN-US&lc=1033&bk=1343219930
  • Cattura l’input nascosto chiamato “t” dal modulo
  • POST quello “t” a /_layouts / Autenticato.aspx. Questo dovrebbe darti il ​​cookie FedAuth e rtFa.

Da quel punto questo è uguale al codice qui: http://www.wictorwilen.se/Post/How-to-do-active-authentication-to-Office-365-and-SharePoint-Online.aspx

Ho trovato la soluzione e ho fatto un post su di esso. L’ho anche messo su github . Puoi trovare il mio post sul blog insieme al link github nel mio blog .

Spero che questo ti aiuti tanto quanto mi ha aiutato 🙂

Ho passato un sacco di tempo per capirlo finalmente. Per ottenere il token binario è necessario inviare un messaggio nel seguente formato all’URL del sito dei token di sicurezza Microsoft Online (STS):

   http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue  http://www.w3.org/2005/08/addressing/anonymous  [toUrl]  [assertion]       [url]   http://schemas.xmlsoap.org/ws/2005/05/identity/NoProofKey http://schemas.xmlsoap.org/ws/2005/02/trust/Issue urn:oasis:names:tc:SAML:1.0:assertion    

Questo messaggio è necessario per sostituire i token con i seguenti valori:

[toUrl]: URL del sito dei token di sicurezza di Microsoft Online Security (STS).
[url]: l’URL del tuo sito SP
[asserzione]: il token XLM dell’asserzione che hai ricevuto dal tuo servizio federativo.

Dopo aver ottenuto il token binario t=... dall’XML di risposta, puoi pubblicarlo sul tuo SP default.aspx per ottenere i cookie.