این پست نحوه استفاده از نشانه های دسترسی رمزگذاری شده با ثبت نام برنامه Azure AD را با استفاده از Microsoft. Identity. web نشان می دهد. با استفاده از نشانه های دسترسی رمزگذاری شده ، فقط برنامه هایی با دسترسی به کلید خصوصی می توانند نشانه ها را رمزگشایی کنند. هنگام استفاده از نشانه های رمزگذاری شده ، می توانید از داده های دسترسی به نشانه های استفاده شده و یا خوانده شده توسط ابزارهایی مانند https://jwt. ms یا https://jwt. io جلوگیری کرده و از خواندن مطالبات بار جلوگیری کنید.
ارسال ها در این سری
- اجرای اعتبار مشتری Azure AD با استفاده از گواهینامه های مشتری برای API های خدمات
- با استفاده از گواهینامه های Vault Key با برنامه های اصلی Microsoft. Identity. Web و ASP. NET
- با استفاده از نشانه های دسترسی رمزگذاری شده در Azure با Microsoft. Identity. Web و Azure App
- یک برنامه وب و ASP. NET Core Secure API را با استفاده از Azure AD اجرا کنید که به یک API دوم نمایندگی می کند
- استفاده از چندین API در هسته زاویه ای و ASP. NET با تأیید اعتبار Azure
- استفاده از چندین API در Blazor با تأیید اعتبار Azure
- Azure AD AD ACCESS TOKEN MANAGEMING LIFETIME MANATY MANEANTING در ASP. NET CORE
- جریان کد دستگاه OAUTH را با Azure AD و ASP. NET CORE اجرا کنید
- مجوز نقش برنامه ها را با Azure AD و ASP. NET Core اجرا کنید
برپایی
دو برنامه برای نشان دادن رمزگذاری توکن AAD ایجاد شده است. یک برنامه اصلی ASP. NET ایجاد شده است که یک API را با استفاده از Microsoft. Identity. web برای ایمن سازی API پیاده سازی می کند. API از یک نشانه رمزگذاری شده استفاده می کند. ثانیا ، یک برنامه UI برای ورود به AAD و درخواست API با استفاده از دامنه API Access_AS_USER ایجاد شد. گواهی رمزگشایی ، رمزگذاری در Azure Key Vault ایجاد شد و فایل کلید . cer عمومی بارگیری شد. این کلید عمومی در ثبت برنامه Azure برای رمزگذاری توکن استفاده می شود.
تنظیم ثبت نام برنامه لاجورد
ثبت نام برنامه Azure برای API وب تنظیم شده است تا از Dencyption Token استفاده کند. نشانه ای که در طاق Key Azure ایجاد شده است می تواند به آرایه KeyCredentials در پرونده مانیفست ثبت نام Azure اضافه شود. CustomKeydidentifier thumbprint است و استفاده از آن برای رمزگذاری تنظیم شده است. ویژگی Value شامل پرونده Base64 . cer است که از طاق کلید شما بارگیری شده است.
"KeyCredentials": [<"customKeyIdentifier": "E1454F331F3DBF52523AAF0913DB521849E05AD3", "endDate": "2021-10-20T12:19:52Z", "keyId": "53095330-1680-4a8d-bf0d-8d0d042fe88b", "startDate": "2020-10-20T12:09:52Z", "type": "AsymmetricX509Cert", "usage": "Encrypt", "value": "--your base 64 .cer , ie public key --", "displayName": "CN=myTokenEncyptionCert">, ],
خاصیت TokenencryptionKeyID در مانیفست ثبت نام Azure App برای تعریف گواهی که برای رمزگذاری توکن استفاده می شود ، استفاده می شود. این در KeyID تعریف گواهی در آرایه KeyCredentials تنظیم شده است.
"Tokenencryptionkeyid": "53095330-1680-4A8D-BF0D-8D0D042FE88B"
توجه: اگر گواهی را با استفاده از پورتال در ثبت برنامه Azure آپلود کنید، میزان استفاده برای تأیید تنظیم می شود و نمی توان از آن برای رمزگذاری رمز استفاده کرد.
پیکربندی برنامه API
برنامه ASP. NET Core از AddMicrosoftIdentityWebApiAuthentication با پیکربندی پیش فرض AzureAD استفاده می کند. این درخواست های API را مجاز می کند.
عمومی void ConfigureServices (سرویس های IServiceCollection));>
app. settings TokenDecryptionCertificates را برای استفاده از Key Vault Certificate که برای رمزگشایی رمز استفاده می شود، تعریف می کند. این همان گواهی است که در ثبت برنامه Azure استفاده شده است. ما از کلید عمومی گواهی در تعریف مانیفست استفاده کردیم.
"AzureAd":<"Instance": "https://login.microsoftonline.com/", "Domain": "damienbodhotmail.onmicrosoft.com", "TenantId": "7ff95b15-dc21-4ba6-bc92-824856578fc1", "ClientId": "fdc48df2-2b54-411b-a684-7d9868ce1a95", "TokenDecryptionCertificates": [ <"SourceType": "KeyVault", "KeyVaultUrl": "https://damienbod.vault.azure.net", "KeyVaultCertificateName": "DecryptionCertificateCert2">]>,
پیکربندی برنامه UI که API را فراخوانی می کند
برنامه UI که وارد سیستم می شود و رضایت می دهد نیازی به TokenDecryptionCertificates برای استفاده از API ندارد. فقط از یک ClientCertificates برای تأیید خود استفاده می کند. این همان گواهی نیست و در مانیفست ثبت برنامه Azure AD کاربرد تأییدی دارد.
"AzureAd":<"Instance": "https://login.microsoftonline.com/", "Domain": "damienbodhotmail.onmicrosoft.com", "TenantId": "7ff95b15-dc21-4ba6-bc92-824856578fc1", "ClientId": "8e2b45c2-cad0-43c3-8af2-b32b73de30e4", "CallbackPath": "/signin-oidc", "SignedOutCallbackPath ": "/signout-callback-oidc", "ClientCertificates": [ <"SourceType": "KeyVault", "KeyVaultUrl": "https://damienbod.vault.azure.net", "KeyVaultCertificateName": "DcPortalCert">]>، "CallApi":<"ScopeForAccessToken": "api://fdc48df2-2b54-411b-a684-7d9868ce1a95/access_as_user", "ApiBaseAddress": "https://localhost:44390">,
اگر برنامه ها را بدون رمزگذاری رمز ثبت نام برنامه راه اندازی کنید، می توانید برنامه را اشکال زدایی کنید و ادعاهای توکن را به عنوان پیش فرض مشاهده کنید که یک رمز دسترسی JWT ایجاد می کند.

هنگام استفاده از رمزگذاری رمز، بار دیگر قابل مشاهده نیست.
فارکس را از کجا شروع کنیم...
ما را در سایت فارکس را از کجا شروع کنیم دنبال می کنید
برچسب :
نویسنده : لیما اصغرپورسازونی
بازدید : 33
تاريخ : دوشنبه
2 مرداد
1402 ساعت: 14:03