2015-07-13 17 views
14

Ho bisogno di chiarimenti su come Sharepoint utilizza Oauth e cosa posso/non posso fare con i token bearer.Sharepoint 2013 e Oauth 2.0

Quello che vorrei essere in grado di fare è recuperare un token al portatore da Sharepoint, cross domain tramite javascript e/o impostare Sharepoint per utilizzare la stessa chiave del computer del mio attuale server Oauth.

Ho letto la maggior parte di questo articolo e molti altri, ma mi fa rimbalzare senza un chiaro esempio. : https://msdn.microsoft.com/en-us/magazine/dn198245.aspx

Recap:

  1. Ho bisogno di un frammento di codice per il recupero di un gettone portatore da SharePoint utilizzando Javascript, tra domini e ...

  2. Ho bisogno di una passeggiata attraverso di condivisione la stessa chiave del computer per i crediti gettoni al portatore in base con OAuth 2,0

E per chiarire quello che sto cercando di fare:

Avrò bisogno di leggere/scrivere in elenchi di Sharepoint da piattaforme diverse e voglio un modo standard per farlo. REST sembra la strada da percorrere. Le nostre app vengono sviluppate utilizzando i servizi RESTful e Oauth. Abbiamo tutto questo coperto con html e javascript. Mi piacerebbe capire come continuare a utilizzare i nostri attuali modelli Oauth e REST per creare interfacce di SharePoint sicure sulle nostre applicazioni html e su Java e C# utilizzando i token bearer basati sulle attestazioni. Se sono sulla strada giusta, si prega di confermare e fornire alcuni esempi chiari/risorse. Se c'è un modo migliore per farlo, sono tutto orecchie.

risposta

2

I token bearer funzionano in modo simile al denaro, chiunque abbia il token è il legittimo proprietario. Questo è il motivo per cui la terminologia "portatore" (che porta sempre il token) entra in gioco. I token fanno affidamento principalmente su SSL/TLS per la sicurezza. Chiunque "sopporti" un token di accesso sarà autorizzato a entrare.

Per rispondere alla tua prima domanda, ho fatto delle ricerche e ho trovato quello che stai cercando di fare. Se si desidera scriverlo in Java Script e utilizzare la libreria tra domini, non è necessario fornire il token di accesso.

var executor = new SP.RequestExecutor(appweburl); 
executor.executeAsync(
    { 
    url: 
     appweburl + 
     "/_api/SP.AppContextSite(@target)/web/[email protected]='" + 
     hostweburl + "'", 
    method: "GET", 
    success: successHandler, 
    error: errorHandler 
} 
); 

ho ottenuto la risposta da qui: https://msdn.microsoft.com/en-us/library/jj164022.aspx

Per la vostra seconda domanda credo sia possibile, ma non comune da fare. Sfortunatamente non mi piace usare lo stesso tasto macchina del tuo attuale server Oauth, scusa! Se mai lo incontrassi nel prossimo futuro, sarò sicuro di rispondere a questa domanda.

Per chiarire quello che stai facendo, sì sembra che tu sia sulla strada giusta. Se le tue app utilizzano tutti i servizi RESTful, sembra che il REST sia la soluzione migliore. Il REST è probabilmente più semplice nello stesso senso, perché usa le richieste HTTP che sono più facili di quelle di COBRA, RPC o SOAP. Se stai cercando di essere più sicuro di qualsiasi altra cosa, usa qualcosa come SOAP. Anche se è discutibile.

Alcune buone risorse possono essere le librerie Microsoft. Hanno tutorial abbastanza buoni anche se alcuni non sono troppo chiari. Microsoft ha documentazione sulla differenza tra SOAP e REST: 1.Questo è il collegamento alla Libreria di Microsoft: https://msdn.microsoft.com/en-us/library/ms310241 OAuth, REST e così via può essere difficile e difficile da comprendere. La documentazione è disponibile, ma per alcune cose, ad esempio l'utilizzo della stessa chiave macchina di OAuth 2.0 è difficile.

Siamo spiacenti, se non ero troppo chiaro, ma se avete bisogno di più aiuto basta rispondere a questa risposta. Spero che questo ti abbia aiutato, cosa e goditi la tua giornata!

+0

Questo, sicuramente, mi dà una certa direzione. Lo sto sperimentando prima di contrassegnarlo come risposta. Ho superato la gobba di capire Oauth e REST ... Volevo solo sapere quali sono le mie opzioni con Sharepoint. Sto leggendo i link che mi hai dato, ora. In particolare, quello con la sceneggiatura che hai postato. Ti farò sapere se questo è quello che sto cercando. Grazie! –

+0

Benvenuto - Proverò a trovare ciò che stai cercando nella seconda domanda, ma la documentazione è scarsa. Spero che abbia aiutato! – makertech81

+0

"Per rispondere alla tua prima domanda, ho fatto delle ricerche e ho trovato quello che stai cercando di fare. Se vuoi scriverlo in Java Script e usare la libreria tra domini, non dovrai fornire il token di accesso." Giusto per chiarire, la libreria tra domini è disponibile solo da un componente aggiuntivo di Sharepoint, non esternamente. –