antara muka aplikasi pembangunan php, masalah log masuk pengguna
Situasinya seperti ini. Antara muka log masuk pengguna sebelum ini tidak wujud pada pelayan selepas log masuk berjaya session
Ia mungkin disimpan di sebelah aplikasi. Oleh itu, walaupun pengguna berjaya log masuk, apabila melaraskan antara muka tertentu, user_id
masih mesti diluluskan sebagai parameter dan bukannya diperoleh daripada session
pelayan.
Hari ini saya ingin mengubah suai antara muka log masuk dan pendaftaran Rakan sekerja saya berkata bahawa antara muka aplikasi tidak mempunyai konsep session
, tetapi saya sentiasa merasakan bahawa perlu ada cara lain untuk menyimpan sesi pengguna pada pelayan.
Jadi saya ingin bertanya kepada semua tuan:
1. php开发app接口有没有`session`的概念?
2. 如果没有,用户会话是怎么处理的?就是当前是否在登录状态
Terima kasih semua!
Anda boleh melihat jwt
Sendiri: Muatan mengandungi semua maklumat yang diperlukan oleh pengguna
Saya menetapkan token dan masa tamat tempoh, dan menggunakan token untuk mengesahkan
Pertama, anda membuat antara muka log masuk Apl memanggil antara muka ini Selepas anda mengesahkan nama pengguna dan kata laluan yang diluluskan, kembalikan token kepadanya.
Token anda membuat jadual untuk disimpan, dan jadual menyimpan token_id_pengguna expire_data dan medan lain Ambil perhatian bahawa token dan id_pengguna adalah unik.
Setiap kali dia meminta antara muka lain pada masa hadapan, dia hanya perlu membawa token ini kepada anda dan anda boleh mengesahkan token itu.
Token yang diluluskan disulitkan/tamat tempoh/dijamin unik, pada asasnya ia.
1 Sertakannama pengguna dan
kata laluan
dalam pengepala permintaan, pergi ke pelayan untuk pengesahan, dan kemudian teruskan dengan logik perniagaan di bawah jika diluluskan.Kelebihan: Menghalang
api
sebelah pelayan daripada dipanggil sesuka hati.Kelemahan: Nama pengguna dan kata laluan ditukar setiap kali, jumlah interaksi adalah besar, dan penghantaran teks yang jelas bagi kata laluan adalah tidak selamat.
username
和password
,到服务器端做验证,通过才继续下边业务逻辑。优点:防止了服务器端
api
被随意调用。缺点:每次都交互用户名和密码,交互量大,且密码明文传输不安全。
2.第一次请求,要求
username
和password
,验证通过,发送cookie
到客户端,app
保存cookie
值。每次请求带上
cookie
。优点:和
pc
上浏览器认证的原理一样了。以上两点,只有注册用户,才能有权访问业务逻辑。
而有些
app
有大量的不需要注册数据api3.制定一个
🎜Pada dua perkara di atas, hanya pengguna berdaftar boleh mempunyai akses kepada logik perniagaan.token
生成规则,按某些服务器端和客户端都拥有的共同属性生成一个随机串,客户端生成这个串,服务器收到请求也校验这个串。缺点:随机串生成规则要保密。
Dan beberapa
apl
mempunyai sejumlah besar API yang tidak memerlukan data pendaftaran🎜 🎜3. Bangunkan peraturan penjanaantoken
untuk menjana rentetan rawak berdasarkan beberapa atribut biasa yang dikongsi oleh kedua-dua pelayan dan klien .Kelemahan: Peraturan penjanaan rentetan rawak mesti dirahsiakan. 🎜
Anda boleh melakukannya seperti ini Pengguna yang berbeza memperoleh token yang berbeza melalui antara muka kebenaran, tetapkan masa tamat tempoh untuk token, biarkan pelanggan meletakkan token dalam pengepala untuk setiap permintaan, dan kemas kini token dengan kerap
Gunakan token untuk menggantikan session_id tradisional yang disimpan dalam kuki klien, dan kemudian token digunakan sebagai nama kunci dalam pangkalan data seperti redis, dan nilai kunci ialah uid pengguna, dan session_id boleh disimulasikan melalui terbina dalam mekanisme tamat tempoh
Syarikat kami mempunyai token dan masa tamat tempoh Setiap kali anda log masuk, token akan diperbaharui
Ini yang saya tanya di laman web kami apabila saya ragu
Rakan sekerja anda berkata bahawa apl itu tidak mempunyai konsep sesi, saya rasa ia tidak tepat! Saya harap soalan saya sebelum ini dapat membantu anda!
Log masuk ialah apabila pelayan menjana ID log masuk yang berjaya dan mengembalikannya kepada klien Permintaan pelanggan membawa ID log masuk, dan pelayan mengesahkan maklumat pengguna dengan log masuk
Cara selamat ialah
token_akses
. Untuk perkara ini, anda boleh melihat antara muka API WeChat;access_token
。这点可以看看微信的api接口;简单做法,就是
Cara mudahnya ialahuser_id
user_id
;🎜