鍍金池/ 問答/PHP  Linux  HTML/ 前端js建立websocket連接時,怎樣生成token?

前端js建立websocket連接時,怎樣生成token?

我是做后端開發(fā)的,目前的業(yè)務(wù)場景是:

前端和我握手時,我要驗證他所傳過來的token是否正確,如果不正確就拒絕連接。

但是,想了一想,前端的token肯定不能是自己按照約定生成的,因為js代碼都是公開可見的。

那,如果是先從后端獲取到token,然后建立連接的時候再傳過來,不就行了嗎。但是想了想,又不對:當(dāng)前端獲取到token之后,不也能從控制臺里取到變量的值么。。。

現(xiàn)在各種加密算法,網(wǎng)上都可以解碼,解碼之后就能看出你的token生成規(guī)則了。

求大牛賜教,有沒有什么比較好的建立ws連接時的驗證方案?

回答
編輯回答
嫑吢丕
PHP 生成 token 分配給 前端
ws 發(fā)送此 token 給后臺驗證
微信JSSDK是這樣驗證
wx.config({
    debug: false, // 開啟調(diào)試模式
    appId: '<?php echo $jsapi_config['appId']; ?>', // 必填,公眾號的唯一標(biāo)識
    timestamp: '<?php echo $jsapi_config['timestamp']; ?>', // 必填,生成簽名的時間戳
    nonceStr: '<?php echo $jsapi_config['nonceStr']; ?>', // 必填,生成簽名的隨機(jī)串
    signature: '<?php echo $jsapi_config['signature']; ?>',// 必填,簽名,見附錄1
    jsApiList: ['scanQRCode'] // 必填,需要使用的JS接口列表,所有JS接口列表見附錄2
});



2017年11月14日 03:26
編輯回答
傻丟丟

jwt啊。。。
https://jwt.io/

里面有各種語言的實現(xiàn),包括生成,驗證等等。

2017年9月11日 05:09