Guler.Editor.Licensing
0.2.0-alpha.0
dotnet add package Guler.Editor.Licensing --version 0.2.0-alpha.0
NuGet\Install-Package Guler.Editor.Licensing -Version 0.2.0-alpha.0
<PackageReference Include="Guler.Editor.Licensing" Version="0.2.0-alpha.0" />
<PackageVersion Include="Guler.Editor.Licensing" Version="0.2.0-alpha.0" />
<PackageReference Include="Guler.Editor.Licensing" />
paket add Guler.Editor.Licensing --version 0.2.0-alpha.0
#r "nuget: Guler.Editor.Licensing, 0.2.0-alpha.0"
#:package Guler.Editor.Licensing@0.2.0-alpha.0
#addin nuget:?package=Guler.Editor.Licensing&version=0.2.0-alpha.0&prerelease
#tool nuget:?package=Guler.Editor.Licensing&version=0.2.0-alpha.0&prerelease
Stylus.Licensing
Stylus premium paketleri için offline ECDSA P-256 imzalı lisans doğrulama. ADR-006 implementasyonu.
Validator MIT lisanslıdır (kendisi açık kaynak). Bu paket,
Stylus.Premium.*paketlerinin init aşamasında lisans kontrolünü yapar — premium feature'ların ticari kapısı.
Özellikler
- Offline doğrulama: Hiçbir HTTP çağrısı yok. Token formatı
STY1.{base64url(payload-json)}.{base64url(signature)}. - Embedded public key: Stylus signing key'i NuGet paketinin içinde gömülü (65 byte raw uncompressed point). Internet bağlantısı gereksiz.
- 30 günlük trial mode: License token verilmeden de premium paketler init olur; süre dolunca init-time exception.
- Boyut: ~15 KB derlenmiş .dll. JWT/BouncyCastle alternatifleri (~250 KB - 4 MB) kullanılmadı.
- Hedef:
netstandard2.0— .NET 8 ve .NET Framework 4.8 host'larıyla ortak.
Kullanım
// Program.cs (ASP.NET Core) veya Startup.cs (Mvc5)
builder.Services.AddStylus(); // çekirdek (MIT)
builder.Services.AddStylusPremium(license: builder.Configuration["Stylus:LicenseKey"]);
builder.Services.AddStylusDocxExport(); // premium paket kendisi lisansı kontrol eder
Stylus:LicenseKey boş bırakılırsa 30 günlük trial mode aktif olur. Trial süresi dolduğunda premium paketler StylusExpiredLicenseException atar.
Token formatı (ADR-006)
STY1.{base64url(payload-json)}.{base64url(signature)}
Payload örneği:
{
"v": "1",
"iss": "stylus.dev",
"sub": "Acme Corp",
"aud": ["Stylus.Premium.Docx", "Stylus.Premium.Ai"],
"exp": "2027-04-26T00:00:00Z",
"tier": "professional",
"trial": false,
"kid": "stylus-2026-01"
}
İmza: ECDSA P-256 / SHA-256 / IEEE P1363 (r||s 64 byte). İmzalanan veri: UTF-8("STY1." + base64url(payload-json)).
Exception hiyerarşisi
| Sınıf | Ne zaman |
|---|---|
StylusInvalidLicenseException |
Format bozuk veya imza geçersiz |
StylusExpiredLicenseException |
Süre dolmuş (trial dahil) |
StylusFeatureNotLicensedException |
Token geçerli ama paket audience listesinde yok |
Detay
- ADR:
decisions/ADR-006-license-validation.md - Premium kapsam:
decisions/ADR-005-premium-feature-scope.md
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Guler.Editor.Core (>= 0.2.0-alpha.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- System.Text.Json (>= 8.0.5)
NuGet packages (7)
Showing the top 5 NuGet packages that depend on Guler.Editor.Licensing:
| Package | Downloads |
|---|---|
|
Guler.Editor.AspNetCore
Stylus — kurumsal CMS için ASP.NET Core editör + dosya yöneticisi NuGet paketi. ProseMirror tabanlı, ticari lisans (ADR-014). |
|
|
Guler.Editor.Premium.Audit
Stylus premium Audit Log + version history paketi. Her save'te tam HTML snapshot kaydeder, htmldiff.net ile word-level HTML-aware diff üretir, admin sayfasında ins/del HTML5 tag'leriyle render eder. ADR-011 implementasyonu. NOT: Bu paket TİCARİ LİSANS gerektirir. Stylus.Licensing AddStylusPremium ile kayıtlı olmalı; trial mode (30 gün) varsayılan, sonrası geçerli token zorunlu. |
|
|
Guler.Editor.Premium.Ai
Stylus premium AI Assistant paketi. ProseMirror editör içeriği için 4 yüksek seviye method (SuggestTitle/Summarize/Translate/AdjustTone) + provider abstraction (Anthropic Claude default, extensible). ADR-010 implementasyonu. NOT: Bu paket TİCARİ LİSANS gerektirir. Stylus.Licensing AddStylusPremium ile kayıtlı olmalı; trial mode (30 gün) varsayılan, sonrası geçerli token zorunlu. |
|
|
Guler.Editor.Premium.Tables
Stylus premium tablo araçları paketi. HTML tablolar üzerinde custom mini-parser ile Excel-style formula evaluation (5 fonksiyon: SUM/ AVERAGE/COUNT/MAX/MIN), CSV/Markdown/TSV serialization, column aggregate API. ADR-012 implementasyonu. Backend-only — frontend formula bar UI Faz 5'te. NOT: Bu paket TİCARİ LİSANS gerektirir. Stylus.Licensing AddStylusPremium ile kayıtlı olmalı; trial mode (30 gün) varsayılan. |
|
|
Guler.Editor.Premium.Audit.EfCore
Stylus.Premium.Audit icin EF Core 8 backed IStylusAuditStore implementasyonu. Production-grade persistent storage; consumer kendi DbContext'iyle entegre eder. ADR-011 Faz 5 yan paket candidate'i. Kullanim: services.AddStylusAudit(); services.AddStylusAuditEfCore options => options.UseDbContext<MyDbContext> NOT: Stylus.Premium.Audit ile birlikte kullanilir; tek basina yetersiz. Lisans gate yine ana paketin (Stylus.Premium.Audit) audience'ini kontrol eder. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.2.0-alpha.0 | 134 | 5/1/2026 |