Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Fluid Relay'e gönderilen istekler yetkilendirme üst bilgisinde bir JWT içermelidir. Bu belirteç kiracı anahtarı tarafından imzalanmalıdır.
İddialar
JWT'ler (JSON Web Belirteçleri) üç bölüme ayrılır:
- Üst bilgi - Belirtecin türü ve nasıl imzalandığı hakkında bilgiler de dahil olmak üzere belirtecin nasıl doğrulandığı hakkında bilgi sağlar.
- Payload - Hizmetinizi çağırmaya çalışan kullanıcı veya uygulama hakkındaki tüm önemli verileri içerir.
- İmza - Belirteci doğrulamak için kullanılan ham maddedir.
Her bölüm bir nokta (.) ile ayrılır ve ayrı olarak Base64 kodlanır.
Üst bilgi talepleri
| İddia | Biçim | Açıklama |
|---|---|---|
| ALG (İngilizce) | String | Belirteci imzalamak için kullanılan algoritma. Örneğin, "HS256" |
| Typ | String | Bu değer her zaman "JWT" olmalıdır. |
Yük talepleri
| İddia | Biçim | Açıklama |
|---|---|---|
| belge Kimliği | String | Azure Fluid Relay (AFR) hizmeti tarafından oluşturulur. Belirtecin oluşturulduğu belgeyi tanımlar. |
| kapsam | dize[] | belge veya özette istemcinin gerektirdiği izinleri tanımlar. Her kapsam için istemciye vermek istediğiniz izinleri tanımlayabilirsiniz. |
| kiracıKimliği | String | Kiracıyı tanımlar. |
| kullanıcı | JSON veri formatı | Uygulamanızın kullanıcılarını tanımlar.
Uygulamanız tarafından Fluid Framework Hedef Kitlesi kullanılarak kullanıcılarınızı tanımlamak için kullanılabilir.{ id: <user_id>, name: <user_name>, additionalDetails: { email: <email>, date: <date>, }, } |
| iat | sayı, UNIX zaman damgası | "Çıkış Tarihi", bu belirteç için kimlik doğrulamasının ne zaman gerçekleştiğini gösterir. |
| Exp | sayı, UNIX zaman damgası | "exp" (süre sonu) talebi, JWT'nin işlenmek üzere kabul edilmemesi gereken son kullanma süresini tanımlar. Belirteç ömrü 1 saatten uzun olamaz. |
| ver | String | Erişim belirtecinin sürümünü gösterir. olmalıdır 1.0 . |
| jti | String | Opsiyonel. "jti" (JWT ID) talebi, JWT için benzersiz bir tanımlayıcı sağlar. Tanımlayıcı değeri, aynı değerin yanlışlıkla farklı bir veri nesnesine atanma olasılığının göz ardı edilebilir olmasını sağlayacak şekilde atanmalıdır. Belge oluşturma için aynı belirtecin kullanımından kaynaklanan hataları önlemek için bu talebi kullanmanızı öneririz. |
Örnek bir Azure Fluid Relay belirteci
{
"alg": "HS256",
"typ": "JWT"
}.{
"documentId": "746c4a6f-f778-4970-83cd-9e21bf88326c",
"scopes": [ "doc:read", "doc:write", "summary:write" ],
"iat": 1599098963,
"exp": 1599098963,
"tenantId": "AzureFluidTenantId",
"ver": "1.0",
"jti": "d7cd6602-2179-11ec-9621-0242ac130002"
}.[Signature]
Azure Fluid Relay belirtecini nasıl oluşturabilirsiniz?
Bu yöntemi kullanarak jsonwebtoken npm paketini kullanabilir ve belirtecinizi imzalayabilirsiniz.
export function getSignedToken(
tenantId: string,
documentId: string,
tokenLifetime: number = 60 * 60,
ver: string = "1.0") {
jwt.sign(
{
documentId,
user: {
displayName: "displayName",
id: "userId",
name: "userName"
},
scopes: ["doc:read", "doc:write", "summary:write"],
iat: Math.round((new Date()).getTime() / 1000),
exp: Math.round((new Date()).getTime() / 1000) + tokenLifetime, //set the expiry date based on your needs but max-limit is one hour.
tenantId,
ver,
jti: uuid(),
},
"<tenant_key>");
}