


Bagaimana untuk menggantikan Cognito dengan Authing dan AWS JWT Authorizer
Gunakan Pembekal OIDC Authing sebagai pengesah untuk AWS API Gateway untuk melindungi fungsi Lambda. Tidak perlu menulis sebarang kod pengesahan, hanya konfigurasikannya pada kedua-dua belah pihak. Ia juga menunjukkan keupayaan Authing untuk mengeluarkan OIDC IdToken untuk medan tersuai berdasarkan konteks yang berbeza.
Konfigurasi konsol Pengesahan
Daftar akaun Pengesahan
Lawati https://console.authing.cn dan daftar akaun
Log masuk ke Authing console
Buat kumpulan pengguna
Buat aplikasi
Cari aplikasi yang baru anda buat dalam senarai aplikasi dan klik Konfigurasikan. Pilih RS256 untuk Algoritma Tandatangan di bawah.
Buat Pengguna
Masukkan Pengurusan Pengguna> Senarai Pengguna, klik butang Baharu di sudut kanan atas, buat dua pengguna, dan akhirnya klik Simpan.
Tetapkan medan tersuai Token
Masukkan Keupayaan sambungan> Saluran Paip , klik tanda tambah di bawah pada kedudukan "Sebelum OIDC mengeluarkan Token" di hujung kanan.
Pilih untuk menambah IdToken tersuai.
Dalam laci pop timbul, masukkan kod tersuai berikut untuk menyesuaikan medan Token. Akhir sekali klik muat naik.
async function pipe(user, context, callback) { if(user.email === 'sample@sample.com') { user.addIdToken("companyCode", "sample") } if(user.email === 'sample2@sample.com') { user.addIdToken("companyCode", "sample2") } callback(null, user, context) }
Konfigurasi konsol AWS
Buat Gerbang API
Masukkan konsol Gerbang API AWS dan klik "Buat API".
Pilih HTTP API dan klik "Bina".
Isi nama API dan klik "Seterusnya".
Klik "Seterusnya".
Klik "Seterusnya"
Klik "Buat".
Buat fungsi Lambda
Masukkan konsol AWS Lambda dan klik "Buat Fungsi".
Buat fungsi Lambda seperti yang ditunjukkan di bawah Nama fungsi boleh diisi dengan sewenang-wenangnya.
Tambah pencetus untuk fungsi Lambda
Pilih API Gateway.
Pilih Gerbang API yang baru anda buat dan klik "Tambah".
点击 Lambda 函数,向下滚动浏览器窗口,进入编辑界面。
输入以下代码,用于返回 Token 中的信息,包括 companyCode。
exports.handler = async (event) => { // TODO implement const token = event.headers.authorization.replace('Bearer ', ''); const claims = event.requestContext.authorizer.claims; const response = { statusCode: 200, body: JSON.stringify({ token, claims, companyCode: claims.companyCode }) }; return response; };
最后点击「Deploy」。
设置 API Gateway 路由 Authorizer
进入 AWS API Gateway 控制台,找到刚创建的 API。
找到刚刚为 Lambda 函数设置的触发器路由,点击「附加授权」。
点击「创建并附加授权方」。
选择 JWT 授权方类型
授权方按照以下方式设置。
上面的信息可以在 Authing 控制台找到:
在应用> 应用列表,找到你的应用,点击「配置」。
发布者 URL 填写这里的 Issuer,受众填写应用 ID。
最后点击「创建并附加」。
到此所有配置完毕
登录示例
安装 NodeJS
http://nodejs.cn/download/
克隆项目
git clone https://git.authing.co/yezuwei/sample-poc
安装依赖
cd sample-poc npm install
运行
node bin/www
然后在浏览器访问 https://kone.authing.cn
在登录页面输入账号和密码
收到来自 Lambda 的响应:
点击登出,再使用账号和密码登录
收到来自 Lambda 的响应:
注意 companyCode 已经根据用户的信息字段,进行逻辑判断然后返回了另外一个。
Atas ialah kandungan terperinci Bagaimana untuk menggantikan Cognito dengan Authing dan AWS JWT Authorizer. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa