1. token是後端還是前端生成的
客戶端就是前端,伺服器端就是後端。前端就是用戶直接看到的,後端就是後台的系統。就行lol客戶端,就是前端,但是里邊你和其他人聯網就要通過伺服器端
2. 請問header中的AccessToken屬性和Authorization屬性伺服器應該如何處理
用到幾個都可以.
不叫AccessToken和Authorization也可以.
我給你簡單講下這兩個東西是為了做什麼吧.
首先這一般用在RESTFUL風格的無狀態通訊中.啥意思呢?就是說不用Session這種傳統的標記,來表達"用戶是誰".用戶每一次的請求訪問都沒有這個session狀態的時候.就叫做無狀態.
那麼沒有session之後,伺服器怎麼知道訪問者到底是誰,是哪個賬號呢?
那麼就需要約定出來一個臨時通行證token.
用戶在登錄頁,用賬號密碼進行登錄.然後伺服器臨時生成一個token或者AccessToken或者Authorization再或者lalalademaxiya,隨便你叫什麼名字,你只需要知道這個東西就是一個臨時的身份證明就可以了.
然後用戶後續的請求訪問,就帶上這個臨時證明,(不能每次訪問都傳賬號密碼,太不安全了,所以採用臨時身份證).
伺服器收到請求後,從請求頭裡面拿出token,或者你這個AccessToken,都可以,看你叫什麼名字.再從自己的內存隊列中查詢,是否包含這個token,以及這個token對應哪個User.在決定這個用戶能做什麼,後續業務怎麼進行.
(一般這種情況我們放在攔截器裡面做,攔截器攔截所有http請求,然後取出裡面的token,username等鑒權信息,去緩存查看,是不是自己的用戶,是就放行,不是就打回去)
不知道我說清楚沒有.
總之這個東西就是拿來做臨時身份證明的.用戶登錄成功,你隨機生成一個不重復的字元串亂碼token,然後將token:user作為鍵值對存入在線緩存.
然後前端發請求時,在Header裡面加上token,後端收到,去在線緩存里找,是否有token對應的user.沒有就不處理.你也可以給token設置有效期30分鍾什麼的,然後線程去循環,定期刪除過期的token,然後用戶就需要重新登錄獲取新的token.
至於"兩個都要用到么?",這個問題,看你怎麼想了,你覺得光一個token不太安全,那麼你就再加一個username在Header裡面.收到請求後,不光檢查是否有對應的token,還要看token對應的user裡面的username和你Header發過來的username是否吻合.
主要是光一個token也不太安全,一般我們請求都是賬號密碼這種,雙欄位驗證.token也可以搭配一個別的東西來驗證.就像我說的,你搭配一個username.或者你覺得兩個不夠,你再多加幾個欄位.或者你覺得一個token就夠了,不加也行.如果你覺得一個欄位做安全認證的風險你也能接受,那就用一個.都沒有硬性規定.全是碼農們自我設計,自我感覺用幾個比較合適.
但是我一般習慣使用username+token的形式來驗證.
不知道能不能幫到你,還有疑問可以繼續追問.
3. 前端做登陸存儲時,token要存在哪
collection.find().toArray(function(err,docs){cons
4. token什麼意思 前端如何使用token
大家好,從網上找了很多關於token的文章,都是提到要生成一個token,然後前端每次請求的時候,要使用這個token,請問下如何在前端使用生成的token?
前端能就使用jQuery搞定,還是需要其他的前端框架配合?能有這方面的完整示例嗎?
做後端的,對前端的東西有些不太懂,請見諒
先謝謝大家了!!
解決方案1:
一般是後端有個結構給你拿token的,然後你請求的時候,根據約定
把token
放在header中
放uri參數中
放body表單里
給後端
解決方案2:
因為http協議是無狀態的 token是後台給你發的一個唯一標識 你再去訪問後台時帶上這個token 後台就知道你是誰了
同session的作用
解決方案3:
前台生成的token,可能會存在安全性問題吧
解決方案4:
你做後台應該很了解token才對呀。
用戶登錄後,生成一個session_id,即token,可以存在redis里。然後前端或客戶端保存起來,存cookie或者LS都行,然後所有的請求作為基類參數帶上(也有通過cookie帶的),然後server端再取到後,驗證你是不是你。
解決方案5:
使用領域很多,以表單為例子:
後台生成token.
前端列印表單,並且講該token變成隱藏項。<input type="hide" value="{{token}}">
客戶提交表單。
後台驗證提交的token合法性。
驗證成功,處理表單。驗證失敗,返回錯誤處理頁面。
解決方案6:
token一般都是後端生成的,在登陸之後返回,前端保存token,之後每次請求都帶上token來驗證身份。
解決方案7:
問題是前端生成的token給後台有用嗎
解決方案8:
一般token都是伺服器端生成,做csrf的。我在補充下我見過前端生成的栗子,雖然沒啥卵用,但讓我廢了好大的勁才發現。
譬如你有一個驗證碼的表單,你在傳遞驗證碼的時候,新增一個隱藏域,將驗證碼用你本地的js加密後,作為參數傳遞,這樣在伺服器端可以檢測驗證碼是不是被篡改過。
但這樣沒啥卵用,因為在提交的時候用同樣的js模擬即可。
解決方案9:
大多數情況下,token作為一種令牌,都是在伺服器端生成,生成的方法很多,從簡單點的對時間或者id或者兩個混合起來進行哈希運算的值到自己設計更復雜的演算法都可以,生成的目的是為了給前端下一次通信時使用這個token作為令牌,當作為一個請求資源的許可的標識,而伺服器則會視這個token在一段時間內都是有效的,並且還可以額外看情況加上是否是同一個ip之類的其它的限制,從而防止某種資源被非法訪問
偶有前端(包括本地客戶端或者app)生成token的情況是已經約定好了一個好的加密機制,伺服器可以信任客戶端的這個輸入的情況下可以由前端或者客戶端生成
5. 前端在請求頭中添加token就報錯
你這個不是token的問題,而是跨域的問題,你這個請求跨域了,所以才報這個錯誤,如果要麼配置代理,要麼在後端對請求進行處理,允許跨域,要麼用mockjs先做本地測試。
6. token是什麼意思
有三種意思:
1、在英語中
名詞:代幣;象徵;記號、令牌,憑證。
形容詞:作為對某事的保證的。及物動詞:預兆:預示或象徵,預兆。
2、在計算機術語中
在計算機身份認證中是令牌(臨時)的意思,在詞法分析中是標記的意思。代表執行某些操作的權利的對象。
3、在游戲王卡片中
又稱作「衍生物」、「象徵物」、「代幣」等,是集換式卡牌游戲《游戲王》中不用於卡組構建的一類怪獸卡,使用時可用任意卡片甚至其他可辨識物品代替。
(6)前端token擴展閱讀:
token的雙語例句:
1、Some of the older telephones still only accept tokens.
一些較老式的電話機仍然只收代幣。
2、If you give up exercise, your muscles shrink and fat increases. By the same token, if you expend more energy you will lose fat.
停止鍛煉會使肌肉萎縮、脂肪增加。同樣,如果花更多的精力鍛煉,就會減掉脂肪。
7. 什麼是token驗證
Token是在客戶端頻繁向服務端請求數據,服務端頻繁的去資料庫查詢用戶名和密碼並進行對比,判斷用戶名和密碼正確與否,並作出相應提示,在這樣的背景下,Token便應運而生。Token是服務端生成的一串字元串,以作客戶端進行請求的一個令牌,當第一次登錄後,伺服器生成一個Token便將此Token返回給客戶端,以後客戶端只需帶上這個Token前來請求數據即可,無需再次帶上用戶名和密碼。
(7)前端token擴展閱讀:
token其實說的更通俗點可以叫暗號,在一些數據傳輸之前,要先進行暗號的核對,不同的暗號被授權不同的數據操作。例如在USB1.1協議中定義了4類數據包:token包、data包、handshake包和special包。主機和USB設備之間連續數據的交換可以分為三個階段,第一個階段由主機發送token包,不同的token包內容不一樣(暗號不一樣)可以告訴設備做不同的工作,第二個階段發送data包,第三個階段由設備返回一個handshake包。
8. 前端怎樣處理ajax返回的token
這樣子的處理我也遇到類似的的問題,後來我同學說後盾網哪裡有資料,什麼問題都會解決,我去看了,還不錯
9. 前端:a標簽如何可以攜帶token然後給後端 ~~~~急~~~
那就a標簽的href的目標網址上加?token=值,如果已經有問號,那麼就是&token=值
後端驗證的時候就驗證GET中token的值就可以了~
最好token加密,然後到服務端解密~
10. laravel api前後端分離,token怎麼用
登錄的時候,獲取信息,根據uid和隨機數加密後,得到token,這作為取得用戶信息的標識,把用戶信息存入緩存,token為鍵,信息為值,以後取信息就從緩存取,防止重復查表。我是這么寫的。你這token是要存入header的,也可以說cookie的,前段可以從header,cookie拿到這token和你傳給他的比較下,ok,結束