[英]How to implement Android Deeplink without express server in node.js
[英]How to implement server side sessions in node.js with express for an android app?
您好,我正在制作一個android應用,一次我有多個帳戶登錄,我的問題是我要進行多個登錄,我應該使用會話來驗證每個登錄的帳戶用戶。現在,我在服務器端使用express我已經閱讀了很多有關在session.js中存儲會話的文檔
我也聽說過json網絡令牌,我可以在其中生成唯一的令牌,然后可以使用res.json({user_id:“ user1”,令牌:“ generated_token here”}}將令牌傳遞給客戶端,我也聽說過護照但是不知道怎么做, 因為在護照上我默認使用express-session會不會對生產有好處?
現在,我的第一個問題是我已經閱讀了所有文檔,卻沒有提到我在為每個注冊用戶創建唯一令牌的位置。 第二個問題,因為我將服務器用於android應用程序,因此不會使用cookie,我將按照參數req.body.token發送用戶令牌,現在該如何將其與當前user_id進行比較。
實際上,我沒有控制流,我的意思是在node.js的會話中所有事情都是如何進行的。 同樣,這個秘密是產生唯一令牌的東西。 另外,我的意思是現在大約有100000個用戶注冊了我的應用程序,請相應地告訴我應該使用哪種方式使用我的應用程序。
我之前曾問過這個問題,但我沒有提到,因為我沒有建立網站的操作方法(就我而言,將不會使用令牌)
我知道我要問的這個問題非常模糊,但請忍受我只是想了解如何在node.js中使用會話
感謝Anways
我會盡力回答這個問題,但這很模糊(如您所指出的)。 我將假設您的Android應用程序是本機Android應用程序,並將連接到基於ExpressJS的雲中的某種NodeJS后端。 如果不是這種情況,請在更新您的問題時闡明您的想法。
對於這種特定情況,最好的主意是看雲提供的服務。 例如,Azure App Service移動應用程序允許您實施身份驗證-它最終返回JSON Web令牌( http://jwt.io )以對每個請求進行身份驗證。
如果您不想迷戀雲提供商,而是想自己運行它,則必須實現令牌生成並檢查自己。 通常采用以下形式:
在此特定情況下要注意的重要一點是,您的后端代碼正在實現WebAPI-API中沒有cookie或會話。 將用戶從客戶端代碼鏈接到后端代碼的唯一方法是JWT。
作為一小段代碼,這是驗證JWT的方法:
var express = require('express');
var app = express();
var jwt = require('express-jwt');
var jwtCheck = jwt({
secret: new Buffer('your-jwt-secret', 'base64'),
audience: 'your-jwt-audience'
});
app.get('/api/protected', jwtCheck, (req, res) => {
// Your code here
});
app.listen(process.env.PORT || 3000);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.