Kamis, 05 April 2018

Karberos

Nyebarke layanan WCF kanthi Secure Kerberos liwat WSO2 API Manager - Pangguna API runtime passthrough

Nalika kita ngamanake API nggunakake WSO2 API Manager, sampeyan bakal aman nggunakake OAuth 2.0. Panganggo / pangembang kudu melu API kasebut, entuk akses token lan kudu ngidini token akses kasebut nalika ngakses API.
Nalika ana layanan WCF / API, biasane sing diamanake nggunakake NTLM. Nanging, NTLM ora bisa mlaku sajrone mlumpat amarga bisa ngonfirmasi sambungan kasebut. Biasane ing lingkungan iki Kerberos minangka cara standar kanggo ngamanake layanan. Sampeyan banjur bakal nyedhiyani layanan kasebut liwat IIS. Nalika ngenalake Manager API kanggo skenario iki, kita kudu mateni OAuth ing API Manager lan duwe Kerberos passthrough kanggo layanan backend. Supaya pangguna pungkasan bakal bisa njupuk keuntungan saka runtime API / App telpon sawise padha mlebu menyang Windows.

Rincian persiyapan

Persiyapan Persiyapan - 2 Windows Server lan Windows Windows
Ana 3 mesin sing dadi bagian saka domain ENGWAR. Mesin Windows 8 digunakake minangka klien. Ana layanan ASP.Net sing kapapar liwat IIS. Service dhewe prasaja.
Pelaksanaan Layanan ASP.Net
Yen tiket Kerberos bisa dileksanakake, jawaban JSON dikirim karo pangguna sing wis dicathet. Yen ora, senar "Anon" dikirim.
Layanan iki didelok liwat IIS ing http://dc.engwar.com:81
Aplikasi iki uga aktif ing akun domain - ENGWAR \ iisserviceuser. Perlu mbisakake Kerberos.
Iki bisa dites nganggo mesin klien. Sampeyan kudu entuk respon JSON karo pangguna sing wis mlebu mesin klien.
Kanggo panjaluk pisanan dikirim saka browser, IIS bakal ngirim 401 Ora sah karo header Negosiate. Banjur browser nangani jabat tangan SPNEGO lan ngirim tiket Kerberos ing panjalukan kaping pindho.
Kanggo panjaluk pisanan kita njaluk respon sing ora sah saka 401 server
Browser ngirim tiket Kerberos lan kita entuk respon sukses saka server
Iki langsung. Saiki ayo ngekspos layanan sing padha liwat API Manager. Ing persiyapan, API Manager wis mlaku ing mesin Windows Server sing kapisah minangka layanan. Iku nggunakake akun layanan liyane kanggo mlaku API Manager.
API Manager mlaku minangka layanan Windows ing ENGWAR \ apiuser
Aku wis nggawe lan nerbitaké API kanggo layanan backend. Net. Kanggo layanan iki, keamanan OAuth kudu dipateni. Sampeyan kudu nggawe siji owah-owahan konfigurasi menyang API Manager. Ing <API_Manager> /repository/conf/api-manager.xml kudu nambahake entri ing ngisor iki,
<RemoveOAuthHeadersFromOutMessage> false </ RemoveOAuthHeadersFromOutMessage>
Iki bakal njaga header wewenang. Iki perlu kanggo salaman SPNEGO.
Ayo njaluk API iki liwat klien lan mirsani asil.
Panjaluk pisanan ngasilake 401 Panganggo sing ora sah karo negosiasi
Browser ngirim tiket Kerberos ing panyuwunan nomer loro lan kita entuk respon
Supaya ing panjalukan pisanan kita njaluk 401 sing ora dikarepake header lan ing browser siji kaping pindho ngirim tiket Kerberos lan kita entuk respon saka .Net layanan liwat API Manager.

Rincian liyane + Setel SPN

Kanggo 2 kedhaftar sing ana ing domain controller ENGWAR \ apiuser lan ENGWAR \ iisserviceuser aku wis ngaktifake delegasi. Uga prayoga yen panganggo loro kasebut duwe sandhi sing beda.
Utawa sampeyan bisa mbukak API Manager lan blumbang app sing digunakake kanggo layanan .Net ing akun panganggo sing padha. Uga, yen sampeyan duwe tembung sandhi sing padha kanggo 2 pangguna, sampeyan bisa nggawe 2 SPN sing cocok karo API Manager ing ENGWAR \ apiuser.

Tidak ada komentar:

Posting Komentar

DeHero

  Blockchain game publishing platform, MixMarvel has launched another project, DeHero. DeHero is a NFT + DeFi platform where you can experie...