Biztonsági token feldolgozása felépítmények az alacsony bizalom sharepoint helyezzük

A legtöbb esetben, akkor nem használhatja az egyszerű kifejezések, mint AccessToken, mint a cache kulcs, mint a felépítmény szükséges tárolni egyedi jelzőt minden felhasználó és SharePoint farm vagy az ügyfél területen. Ha az add-in használ keretében token patak. SharePoint egy speciális kulcs CacheKey. amelynek segítségével megkülönböztetni gyorstárazott markerek. Ez a rész leírja azokat a problémákat, és hogyan lehet megoldani őket, ha a bővítmény nem használja a helyi token patak.

Gyorstárazott hozzáférési token a munkamenet állapotban a legtöbb helyzetben. Ha a távoli web-alapú alkalmazás hozzáfér az egyéb szolgáltatásokat használó OAuth protokoll (amellett, hogy a SharePoint), és a különböző cache biztonsági tokenek ülésezett állapotban, különböző cache kulcsokat a markerek. Például, ahelyett, hogy a AccessToken SharePoint_AccessToken, Facebook_AccessToken, SAP_Gateway_AccessToken. (Ha nem használja a munkamenet-állapotot, vagy más módon a caching, ami automatikusan elosztja a cache az összes felhasználó is meg kell, hogy kapcsolódnak a kulcsokat minden felhasználó számára.)

Az alkalmazás hozzáférhet több SharePoint gazdaságok vagy ügyfél-nak. Ebben az esetben használja a SharePoint tartomány részeként elsődleges kulcs alkalmazás-gyorsítótár ( „SharePoint_<мой_домен> .sharepoint.com_AccessToken „), vagy a terület a gazdaság vagy az ügyfél (” SharePoint_ _AccessToken „), amely olvasható a hozzáférési tokent. Felhívjuk figyelmét, hogy a kódot kell átalakítani Base64 kódolás marker olvasni. Ehhez a menedzselt kód fájl TokenHelper (kiterjesztésű CS vagy VB) tartalmaz Kódrészletet használó névterek osztályok Microsoft.IdentityModel.S2S.Tokens és System.IdentityModel.Tokens. egy másik lehetőség, hogy ez lehetséges, ha az alkalmazás keretében token patak, le van írva a következő bekezdésben.

Ha mezhseansovy gyorsítótárat használ, szintén több alkalmazás, cache kulcsokat kell korrelál alkalmazások, a felhasználók és a SharePoint munkaterületek. Kulcsgyorsítótárban keretében nyújtott a token egyedi minden alkalmazás, felhasználói és SharePoint munkaterületek.

Végül, ha a bővítmény futó SharePoint vitatja mindkét teszt alkalmazás engedélyeinek és ellenőrzése felhasználói jogosultságokat, és kiegészítőket, akkor két különböző hozzáférési tokent. Ezért szükség van a különböző kulcsok cache. Határozza meg a fő cache gombot, adja hozzá a "_add-in-only" (Csak add-in) vagy "_add-in + user" (felépítmény és a felhasználó).

Tartsa a token egy süti nem biztonságos. Sokkal jobb, hogy elkerüljék az átviteli hozzáférési token a böngésző.

Transzfer a hozzáférési token szerver rendszerek

Feldolgozás token lejárt

Példák hozzáférési token

Politika a felhasználó és bővítmények

Terület SharePoint - GUID SharePoint Online ügyfélszolgálat területén, illetve a helyi SharePoint farm hozzáférési egy hozzáférési tokent. Ez egyfajta GUID azonosító mezőt jelölő kiadó, ebben az esetben - Azure ACS szolgáltatást.

Rövid a „kibocsátó” (kiadó). Ez egy olyan téma, amely megteremtette a jelzőt. Formátum: GUID kiadója @ GUID SharePoint régióban.

Egy egyedi felhasználói azonosítót, amelyre a token felszabadul. A méret függ a személyazonosság-szolgáltató. Ebben a példában az eladó - Microsoft Online. Ha igen, akkor az Active Directory, ID nézne ki: "s-1-5-21-2127521184-1604012920-1887927527-415149".

A téma, aki megpróbál hozzáférést egy gazdaságban vagy egy SharePoint ügyfél területén. Formátum: Application Client ID @ SharePoint régióban.

Az egyedi név az identitás szolgáltató nyilvántartásba vett szervezet IANA (Internet Assigned Numbers Authority).

Az építési telepítve a SharePoint Online, a megadott érték jellemzően ebben a példában.

Mert bővítmények vannak telepítve a helyi gazdaságban, ez általában a helyi identitás szolgáltató, mint például a „urn: office: IDP: ActiveDirectoryba”.

Politika csak a hozzá

összefüggésben token ellenőrzés az add-kliens titok.

Caching összefüggésben token vagy kitermelése frissítések marker vagy más elemek és azok külön cache-t.

Használja markerek frissítések és egyéb információk, kérjen hozzáférési kódot a szolgáltatás-hozzáférési kontroll, majd gyorsítótár is.

Gyorsítótárral CacheKey kulcsot a kontextus token.

Az első két probléma is fontos elvégezni, mielőtt a felhasználó elnavigál az oldalról, vagy frissíteni kell az aktuális, így a marker elvész. Például az alkalmazás ASP.NET Web Forms ezeket a feladatokat el kell végezni a módszerrel Page_Load (feltétel képviselteti magát a kódot blokk, amely kerül sor, ha a kérelmet nem küldött vissza). Az ASP.NET MVC alkalmazás, ezeket a feladatokat el kell végezni a módszer az alapértelmezett vezérlő.

Ha ön használ menedzselt kód, mintakódunkat egyes feladatokat bemutatott SharePointContext és TokenHelper fájlokat (kiterjesztés CS vagy VB), amely tartalmazza a Microsoft Office Developer Tools for Visual Studio. Csak akkor kell elvégezni az egyszerű hívások TokenHelper osztály tagjai. Például a kód képes megbirkózni az első feladat segítségével egy sor:

Gyorsítótár összefüggésben token vagy azok részei

Akkor cache a teljes összefüggésében a marker, vagy csak egy részét kiszolgáló vagy ügyfél boltban. Például szerepel egy frissítést jelző és néhány más elem, amellyel a kódot kap hozzáférést zsetont. Hogy könnyebb, ebben a cikkben azt feltételezzük, hogy a gyorsítótárban a teljes összefüggésében a jelzőt.

Emlékezzünk még egyszer, mert ez nagyon fontos: ne használjon ügyféloldali gyorsítótárat egy hozzáférési tokent. Ez csak akkor használható összefüggésben jelzőt.

Gyorsítótárral lehetőség ugyanazon az oldalon a szerver a fentebb felsorolt ​​hozzáférési tokent. Lehetőségek a kliens oldalon is cookie és a rejtett formában mezőben a HTML-oldal. Ezen felül, akkor lehet tárolni összefüggésben token a cache ülés és CacheKey gombot. megszerzését, - a kliens oldalon.

Ha az alkalmazás kapcsolódik SharePoint kijelentkezés után, akkor nem használ semmilyen munkamenet cache, vagy kliensoldali gyorsítótárazás. Ez annak a ténynek köszönhető, hogy az alkalmazás hozzáférést kell biztosítani a token frissítést, csak abban az esetben jár le eredeti hozzáférési token tevékenységek során a munka az ülés után. Ebben a forgatókönyvben, szükségünk van egy állandó (mezhseansovy) gyorsítótár, amely megoszlik több felhasználó, a SharePoint-nak vagy alkalmazások. Mivel a kód, hogy használja a cache kulcsokat, amelyek megkülönböztetik a felhasználók, az alkalmazások és a SharePoint területen, a fent leírt módon részben gyorsítótár hozzáférési tokent. Akkor egy speciális kulcsot a cache összefüggésben token, valamint a hozzáférési token. (Lásd. Szakasz fogalma cache kulcs alább.)

A koncepció egy cache kulcs

Kulcsgyorsítótárban - átlátszatlan karakterlánc, amely egyedülálló a felhasználó kombinációk, a felhasználó nevét, a kiadó, a SharePoint bővítmény és mezőgazdasági vagy SharePoint Online kliens. Az alábbiakban az ő formája titkosítás előtti, ahol a terület - ez GUID SharePoint vagy SharePoint Online ügyfélszolgálat területén a helyi gazdaságban.

ID_imeni_polzovatelya + "" + izdatel_ID_imeni_polzovatelya + "" + ID_prilozheniya + "" + terület

Mivel egy kulcsgyorsítótárban alkalmazás cache több elem egy cache, például biztonsági token és kontextus token cache gombot használni, mint a bázis. Ha szükséges hozzá elején vagy végén egy adott karakterlánc adhatunk, például AccessToken vagy ContextToken, hogy alkossanak kulcsgyorsítótárban. Egy másik lehetőség - hozzon létre egy osztályt különböző tulajdonságokkal az elemek cache, majd gyorsíthatóságát ilyen típusú objektumot. Van egy harmadik lehetőség. az esetre, ha egy adatbázist, amely a gyorsítótárat. Ez magában foglalja a használata egy asztal CacheKey oszlopot, és további oszlopok a tárolt elemek (AccessToken, ContextToken és t. D.).

Természetesen az alkalmazás nem használja a cache minden caching műveleteket. Normális token cache gyorsíthatóságát ülés keretében token (vagy frissítse a marker is) - egy adatbázisban, és CacheKey gomb - egy sütit.

Beszerzése egy hozzáférési token használatával összefüggésben token

Ahhoz, hogy a hozzáférési token, a kérést küld közvetlenül a beléptető szolgáltatás. A kérelem tartalmazza a három darab kinyert adatokat összefüggésben a marker, valamint egyéb információk:

Alkalmazás GUID alá SharePoint.

GUID SharePoint farm vagy SharePoint Online kliens terület, amely el akarja érni a felépítmény.

Az alkalmazás kaphat az ügyfél terület vagy SharePoint farm futásidőben helyett annak eltávolítása összefüggésben token. Ha ön használ menedzselt kód, a közelben TokenHelper.GetRealmFromTargetUrl módszer. Az érték a cache-be, úgy, hogy a kód nem visszajuttatja a hívás a hálózaton keresztül letölteni azt.

Ismerkedés az új kontextusban token

client_id. SharePoint-bővítmény ügyfél-azonosító.

összefüggésben token példa

Állítások és vid. iss. NBF és exp ugyanazok, mint a hozzáférési token (lásd fent). Jóváhagyás appctxsender. appctx. CacheKey. SecurityTokenServiceUri. refreshtoken isbrowserhostedapp és ismertetett az alábbi táblázatban.

3. táblázat nyilatkozatok összefüggésében jelzőt, és a velük kapcsolatos információk

Hozzáférés korlátozása a SharePoint-felhasználók csak a kontextus token

frissítési token szerepel összefüggésben a marker, ami megjelent a SharePoint Service webalkalmazás futtatásakor is. Marker frissítés titkosított, és a SharePoint add-in nem visszafejteni. A kód használja és egyéb adatokat, így egy új hozzáférési token, ha a jelenlegi lejár. Vele is lehetséges, hogy az első token keretében token patak. (Abban az időben az írás, a fennállásának időtartama a frissítés marker által kiadott hozzáférési ellenőrzés SharePoint szolgáltatás, 6 hónap volt, de ez megváltozott.)

Mivel a token csak akkor érvényes, több órán át (most - 12), és a felhasználó kap egy új SharePoint bővítmény minden futtatásakor a SharePoint, marker frissítéseket csak az ilyen forgatókönyvek:

Belépés felfedezett hosszú ülés felépítmény, amelyben ő végez SharePoint felhívja néhány órán belül (több mint 12) a start után.

felépítmény kialakítása lehetővé teszi a felhasználóknak, hogy a menetrend, a hozzáférést a SharePoint kijelentkezés után.