国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

IDaaS | 使用 Authing + Lambda 輕松替代 AWS Cognito

DangoSky / 2830人閱讀

摘要:你可以試著注冊(cè)一個(gè)賬號(hào)然后進(jìn)行登錄,登錄完成后可以在控制臺(tái)中觀察到登錄狀況。編寫函數(shù)編寫函數(shù)推薦使用這個(gè),控制臺(tái)中的函數(shù)編寫堪稱讓人痛不欲生。在控制臺(tái)中安裝在中引入包后會(huì)一起打包上傳到運(yùn)行時(shí)中。

Amazon Web Services(AWS) 雖然作為市場(chǎng)份額全球第一的云計(jì)算廠商,其產(chǎn)品也不是完美無缺的,Cognito (AWS 的身份認(rèn)證解決方案)及其附帶的中文文檔就是一個(gè)反面教材,其難用程度令人發(fā)指。當(dāng)然,除了不易用之外,還有訪問速度緩慢,不適用于中國市場(chǎng)等問題存在。

而國產(chǎn)的 Authing 可以解決使用 Cognito 的諸多問題,先看一下 Authing 的介紹:

Authing 是一個(gè)身份認(rèn)證服務(wù)商,其提供了企業(yè)級(jí)身份認(rèn)證和管理解決方案,客戶分布教育、IoT、互聯(lián)網(wǎng)和電商等多個(gè)行業(yè)。

Lambda 是一個(gè)由 AWS 提供的 Function-as-a-Service (FaaS) 平臺(tái) 。Lambda 和 AWS 生態(tài)結(jié)合的非常緊密,接入 Lambda 后,開發(fā)者可以使用 AWS 生態(tài)內(nèi)的所有資源。比如,我們可以創(chuàng)建一個(gè) Lambda 函數(shù),讓用戶通過 Cognito 登錄(當(dāng)然這篇文章是讓用戶使用 Authing 登錄),然后再調(diào)用另外一個(gè)可以上傳文件到 S3(AWS 的存儲(chǔ)服務(wù)) 的 Lambda 函數(shù)。

這類平臺(tái)(現(xiàn)在多被稱為 Serverless,無服務(wù)器架構(gòu))的一個(gè)好處是可以讓開發(fā)者無需擔(dān)心基礎(chǔ)設(shè)施,專心業(yè)務(wù)研發(fā)。

FaaS 或者說 Serverless 平臺(tái)正在逐漸獲得市場(chǎng)關(guān)注,因?yàn)檫@種類型的平臺(tái)可以讓開發(fā)者不用再關(guān)注基礎(chǔ)設(shè)施。"What is serverless" 這篇文章詳細(xì)的講解了什么是「無服務(wù)器計(jì)算」和「無服務(wù)器計(jì)算」的好處,推薦讀一下。

這篇文章的主要目的是介紹如何使用 Authing + Lambda 替代 AWS Cogito,線上體驗(yàn)地址為:https://sample.authing.cn/aws。

此外,Authing 遵循 OIDC 規(guī)范,所以本篇文章將使用 OIDC 來做認(rèn)證,如果你還不了解什么是 OIDC,請(qǐng)先到網(wǎng)上搜索一下。

首先確認(rèn)下用戶的操作流程

打開頁面:sample.authing.cn/aws/;

點(diǎn)擊 Login 進(jìn)行登錄,此時(shí)跳轉(zhuǎn)到 Authing 的登錄頁面(應(yīng)用的二級(jí)域名);

輸入賬號(hào)密碼進(jìn)行登錄,若沒有賬號(hào)密碼則先進(jìn)行注冊(cè);

登錄成功后返回第一步打開的頁面,并顯示登錄用戶的頭像;

此時(shí)用戶可以看到從 AWS Lambda 請(qǐng)求回來的 Private 信息;

創(chuàng)建一個(gè) Authing 應(yīng)用

如果你還沒有注冊(cè) Authing,那么請(qǐng)點(diǎn)擊這里進(jìn)行注冊(cè),注冊(cè)完成后,按以下步驟創(chuàng)建一個(gè) Authing 應(yīng)用。

1. 創(chuàng)建應(yīng)用

2. 填寫基本信息,應(yīng)用類型選擇 Web 應(yīng)用

3. 創(chuàng)建完成后會(huì)進(jìn)入到應(yīng)用主頁(空空如也)

創(chuàng)建 OIDC 應(yīng)用

創(chuàng)建完應(yīng)用后相當(dāng)于你有了一個(gè)用戶池,接下來你可以創(chuàng)建 OIDC 應(yīng)用來授權(quán)其他程序(你自己寫的或其他第三方程序)訪問你的用戶池。

4. 點(diǎn)擊「第三方登錄」開始創(chuàng)建 OIDC 應(yīng)用

5. 選擇「OIDC 應(yīng)用」選項(xiàng)卡,并點(diǎn)擊「創(chuàng)建 OIDC 應(yīng)用」

6. 填寫應(yīng)用名和認(rèn)證地址,并勾選 id_token token

這里要說明一下,創(chuàng)建 OIDC 應(yīng)用時(shí)的認(rèn)證地址將由 Authing 生成一個(gè)二級(jí)域名(支持 HTTPS),且不能重復(fù),回調(diào) URL 填寫你自己的回調(diào)地址即可,在這里我用的是 https://authing.cn,注意,OIDC 協(xié)議中不允許回調(diào) URL 為 localhost,請(qǐng)使用代理工具進(jìn)行調(diào)試。

7. 點(diǎn)擊確認(rèn),就可以看到我們有了第一個(gè)基于 OIDC 協(xié)議的授權(quán)應(yīng)用

創(chuàng)建完成后你可以訪問 lambda.authing.cn ,此時(shí)會(huì)看到報(bào)了一個(gè)錯(cuò),別害怕,這是因?yàn)槲覀儼l(fā)起的授權(quán)鏈接不正確。

8. 訪問 lambda.authing.cn 時(shí)報(bào)的錯(cuò)

發(fā)起正確授權(quán)請(qǐng)求的方式請(qǐng)繼續(xù)往下看。

發(fā)起授權(quán)請(qǐng)求

和絕大多數(shù)的 OAuth 應(yīng)用差不多,OIDC 的授權(quán)鏈接也需要拼接(如果你開發(fā)過微信應(yīng)用,應(yīng)該會(huì)很容易理解),Authing OIDC 應(yīng)用的授權(quán)鏈接符合標(biāo)準(zhǔn)規(guī)范,具體格式為:

https://lambda.authing.cn/oau...;應(yīng)用 ID>&redirect_uri=<回調(diào) URL,必須和平臺(tái)配置完全一樣>&scope=openid profile&response_type=&state=<一個(gè)隨機(jī)字符串,用來防范 CSRF 攻擊>

若需要查看詳細(xì)的參數(shù),請(qǐng)點(diǎn)擊這里查看。

例如:

https://lambda.authing.cn/oau...://authing.cn&scope=openid profile&response_type=id_token token&state=jacket

為了簡(jiǎn)單起見,這里我們的 response_type 設(shè)置為「id_token token」,這樣不需要使用「code」換取 token,token 會(huì)直接附帶到回調(diào)地址中。

9. 如果你的授權(quán)鏈接正確,應(yīng)該可以看到上圖這樣的登錄窗口

如果你的授權(quán)鏈接正確,應(yīng)該可以看到上圖這樣的登錄窗口,同時(shí)這個(gè)窗口也是你的終端用戶所使用的窗口,他們都將從這里登錄然后回調(diào)到你配置好的回調(diào) URL 中。

你可以試著注冊(cè)一個(gè)賬號(hào)然后進(jìn)行登錄,登錄完成后可以在控制臺(tái)中觀察到登錄狀況。

10. 注冊(cè)成功

11. 登錄之后的授權(quán)頁面

12. 控制臺(tái)中觀察到的用戶數(shù)據(jù)

在你登錄成功后應(yīng)該會(huì)看到回調(diào)到了你填寫 URL 中,并且附帶了很多參數(shù),接下來我們會(huì)闡述如何使用這些參數(shù)。

獲取用戶信息

回調(diào)到在控制臺(tái)中配置的 redirect_uri 中后,將附帶以下信息:

{
    "id_token": "JWT_TOKEN",
    "access_token": "JWT_TOKEN",
    "expires_in": "3600",
    "token_type": "Bearer",
    "state": "jacket",
    "session_state": "644d7b324ba61d517fdedd28b5b6e365d78f2a8178f2ee742474d5b57a99eb3f"
}

可以看到其中包含了 access_token 和 id_token,其中 access_token 可以幫助你從 Authing 后端獲取用戶信息,而 id_token 中包含了基本的信息,如果你要獲取用戶的頭像,那么是需要通過 access_token 獲取的。

我們先看一個(gè) id_token 的例子:

eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InIxTGtiQm8zOTI1UmIyWkZGckt5VTNNVmV4OVQyODE3S3gwdmJpNmlfS2MifQ.eyJzdWIiOiI1Y2MyYTg1MTFiYmFmMDRmOTNjZTQ4OWYiLCJub25jZSI6IjE4MzEyODkiLCJzaWQiOiI5MzkwZDA1ZC01ZTM3LTQ3ZWUtODJjNi1jNTQ1ZjA2ODhhMDAiLCJhdF9oYXNoIjoiNmxZMGRXajZYUTY0aExWdHAtR2tEdyIsInNfaGFzaCI6IlZVOU5QYV9JQ0VTSEdxRmxUZ3A2LUEiLCJhdWQiOiI1Y2MyYjU0OGQxNGM3NDJkYjg5M2JhNTUiLCJleHAiOjE1NTYzNjY0ODksImlhdCI6MTU1NjM2Mjg4OSwiaXNzIjoiaHR0cHM6Ly9vYXV0aC5hdXRoaW5nLmNuL29hdXRoL29pZGMifQ.Qc_OMqMf6_wwzW2SsEgEtiaGr3ZY1FWHnRrMU2M7LADGlNpq_pvPrFxAVsR2j-BFr1y48M-Trvq6yAu4_ZOUBHPtIIpoQ5W2bnABytUV693ZcwNlf9CCiLc-k0LG3o1U-BmiH3L6NAV7aKGsfVHS8toiNbVDuimPVdYJsRrF2C1jj1meM1K8FBVwqozXm6YtB--u3sqY4IszHnd5PMEWguLsOkpZJIh7xWeYPpVQ5WKfx0cA8rB_T2puSCbeaUVhgIwNADy06qBqXhUOiA4gdcNbHtx7tvGZMxzMC3rdjpXoZk89Duh3O5tHlMtaBlidJGYavUSjVl7potESecSlBg

使用 jwt.io 解析后將得到如下結(jié)果:

{
  "sub": "5cc2a8511bbaf04f93ce489f",
  "nonce": "1831289",
  "sid": "9390d05d-5e37-47ee-82c6-c545f0688a00",
  "at_hash": "6lY0dWj6XQ64hLVtp-GkDw",
  "s_hash": "VU9NPa_ICESHGqFlTgp6-A",
  "aud": "5cc2b548d14c742db893ba55",
  "exp": 1556366489,
  "iat": 1556362889,
  "iss": "https://oauth.authing.cn/oauth/oidc"
}

其中包含了簽發(fā)時(shí)間(iat)、過期時(shí)間(exp)等字段,可以用來判斷用戶有沒有被認(rèn)證過,在 OIDC 的規(guī)范中,JWT 使用 OIDC 應(yīng)用的 secret 簽發(fā),需要開發(fā)者在后端驗(yàn)證(這一步我們將會(huì)在 Lambda 中執(zhí)行)后繼續(xù)執(zhí)行開發(fā)者本身的業(yè)務(wù)流程。

再來看看 access_token 的例子:

eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InIxTGtiQm8zOTI1UmIyWkZGckt5VTNNVmV4OVQyODE3S3gwdmJpNmlfS2MifQ.eyJqdGkiOiJza0p-bTNaYmZsTjVxVGEzR2J2YlMiLCJzdWIiOiI1Y2MyYTg1MTFiYmFmMDRmOTNjZTQ4OWYiLCJpc3MiOiJodHRwczovL29hdXRoLmF1dGhpbmcuY24vb2F1dGgvb2lkYyIsImlhdCI6MTU1NjM2Mjg4OSwiZXhwIjoxNTU2MzY2NDg5LCJzY29wZSI6Im9wZW5pZCBwcm9maWxlIiwiYXVkIjoiNWNjMmI1NDhkMTRjNzQyZGI4OTNiYTU1In0.Uf3YK4D9HL-G71hkA4cWt5kitDo5rNgwVA9Vqlv4RjAILNDTylYWtkacKJpLcOSS81ivaNpDVNYYzBSoyN-eMH80VhArPUre74F9SHdonA-IVFVPT0DHRtOAJI9kqDW4tgTXhZeZMUm-MCjVjR-q8XrayXaqrC5Hu5W3D1N-K_jZOlwxzIBf51nuC4NMvSI_wPpYj2WPzGxFwpfTCEbnhj5RO0CcThRpC3EdmpbtcJqStd7AZQhkLyTb1TQLHJOel8DSxLnLnoIU0rZXsodK6EjE_oqRLagetNXF1cKfRmnGFaAKZKqgvHc527S_CVkgXIwcHBRmDeqo93CCId_hmQ

使用 jwt.io 解析后將得到如下結(jié)果:

{
  "jti": "skJ~m3ZbflN5qTa3GbvbS",
  "sub": "5cc2a8511bbaf04f93ce489f",
  "iss": "https://oauth.authing.cn/oauth/oidc",
  "iat": 1556362889,
  "exp": 1556366489,
  "scope": "openid profile",
  "aud": "5cc2b548d14c742db893ba55"
}

可以看到 access_token 相比 id_token 是少了很多信息的,這里有一段英文的介紹,該介紹講解了 access_token 和 id_token 的區(qū)別:

ID Tokens vs Access Tokens. The ID Token is a security token granted by the OpenID Provider that contains information about an End-User. This information tells your client application that the user is authenticated, and can also give you information like their username or locale.You can pass an ID Token around different components of your client, and these components can use the ID Token to confirm that the user is authenticated and also to retrieve information about them.Access tokens, on the other hand, are not intended to carry information about the user. They simply allow access to certain defined server resources. More discussion about when to use access tokens can be found in Validating Access Tokens.

簡(jiǎn)單來講,id_token 告訴你用戶被驗(yàn)證過了,而 access_token 是一個(gè)你可以訪問資源服務(wù)器(這里就是 Authing) 的一個(gè)憑證。

同時(shí)也可以看到,idtoken 包含的信息較少,如果想獲取更多信息,需要使用 access_token 來獲取。獲取方式也非常簡(jiǎn)單,只需要往以下鏈接發(fā)送 GET 請(qǐng)求并且附帶 access_token 即可,如:

$ curl https://users.authing.cn/oauth/oidc/user/userinfo?access_token=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InIxTGtiQm8zOTI1UmIyWkZGckt5VTNNVmV4OVQy...balabala...verylong...

可以獲取到 id 等信息,獲取到 id 之后你可以將 id 存儲(chǔ)到你自己的數(shù)據(jù)庫中以完成自己的實(shí)際業(yè)務(wù)。

{
    "sub":"5cc2a8511bbaf04f93ce489f",
    "nickname":"",
    "picture":"https://usercontents.authing.cn/authing-avatar.png"
}

上面的 JSON 是一個(gè)使用 access_token 換取用戶數(shù)據(jù)后的返回結(jié)果。

好了,現(xiàn)在我們已經(jīng)獲取到 Token 了,接下來我們需要在 Lambda 中驗(yàn)證這個(gè) Token 的合法性并在前端顯示不同的信息。

編寫 Lambda 函數(shù)

編寫 Lambda 函數(shù)推薦使用 Serverless 這個(gè) CLI,AWS 控制臺(tái)中的函數(shù)編寫堪稱讓人痛不欲生。

同時(shí),你可以到這里查看完整代碼。

Lambda 在這篇文章中主要用來做三件事:

對(duì) id_token 進(jìn)行認(rèn)證,以獲取用戶是否被認(rèn)證過;

提供一個(gè) Public API,此 API 可以直接被訪問;

提供一個(gè) Private API,此 API 需要經(jīng)過認(rèn)證后被訪問;

對(duì) id_token 進(jìn)行認(rèn)證

認(rèn)證 id_token 首先需要知道 OIDC 應(yīng)用的 secret,此值可以在 Authing 控制臺(tái)查看 OIDC 應(yīng)用的詳情中找到:

id_token 在簽發(fā)時(shí)的簽名是此 secret ,因此在 JavaScript 中可以直接使用 jsonwebtoken 這個(gè)庫來驗(yàn)證 id_token 的合法性(詳情請(qǐng)參考:驗(yàn)證 Token 合法性)。

在控制臺(tái)中安裝 jsonwebtoken:

$ npm install jsonwebtoken --save

P.S. 在 lambda 中引入包后會(huì)一起打包上傳到 AWS Lambda 運(yùn)行時(shí)中。

const jwt = require("jsonwebtoken");

// Policy helper function 
// 這是 AWS 提供的模版代碼,這里不需要做修改
const generatePolicy = (principalId, effect, resource) => {
  const authResponse = {};
  authResponse.principalId = principalId;
  if (effect && resource) {
    const policyDocument = {};
    policyDocument.Version = "2012-10-17";
    policyDocument.Statement = [];
    const statementOne = {};
    statementOne.Action = "execute-api:Invoke";
    statementOne.Effect = effect;
    statementOne.Resource = resource;
    policyDocument.Statement[0] = statementOne;
    authResponse.policyDocument = policyDocument;
  }
  return authResponse;
};

// Reusable Authorizer function, set on `authorizer` field in serverless.yml
module.exports.auth = async (event, context, cb) => {
  if (event.authorizationToken) {
    // remove "bearer " from token
    const token = event.authorizationToken.substring(7);

    try {
        let decoded = jwt.verify(token, "YOUR_OIDC_APP_SECRET"),
          expired = (Date.parse(new Date()) / 1000) > decoded.exp;
        if (expired) {
          cb("Unauthorized, Login information has expired.");
        }else {
          cb(null, generatePolicy("user", "Allow", event.methodArn));
        }
      } catch (error) {
        cb("Unauthorized");
      }
  } else {
    cb("Unauthorized");
  }
};
公共 API
// Public API
module.exports.publicEndpoint = (event, context, cb) => {
  cb(null, { message: "Welcome to our Public API!" });
};
私有 API
// Private API
module.exports.privateEndpoint = (event, context, cb) => {
  cb(null, { message: "Only logged in users can see this" });
};
serverless.yml
service: serverless-authorizerprovider: 
 name: aws runtime: nodejs8.10functions:  auth:    handler: handler.auth  getUserInfo:    handler: handler.getUserInfo    events:      - http:          path: api/userInfo          method: get          integration: lambda          cors: true    
  publicEndpoint:    handler: handler.publicEndpoint    events:      - http:          path: api/public          method: get          integration: lambda          cors: true  privateEndpoint:    handler: handler.privateEndpoint    events:      - http:          path: api/private          method: get          integration: lambda          authorizer: auth # See custom authorizer docs here: http://bit.ly/2gXw9pO          cors: true

此文件可用來配置需要鑒權(quán)的路由,如上面代碼中的 privateEndpoint,配置了 authorizer 為 auth 函數(shù)。

完整代碼請(qǐng)參考:https://github.com/authing/au...

測(cè)試 Lambda

寫完了代碼之后我們需要進(jìn)行測(cè)試。

Lambda 支持直接在本地測(cè)試,可以使用如下命令:

$ sls invoke local -f auth --data "{"authorizationToken": "Bearer "}"

如果本地測(cè)試返回了如下信息則表示驗(yàn)證成功:

{
    "principalId": "user"
}
部署 Lambda
$ serverless deploy

部署完成后會(huì)得到三個(gè)鏈接,這三個(gè)鏈接分別是上述代碼的三個(gè)函數(shù)。

使用 curl 或 postman 將 OIDC 登錄后的 id_token 攜帶到 header 的 Authorization 中即可查看結(jié)果,如:

$ curl --header "Authorization: " 
curl  - Should work! Public!
curl  - Should not work
curl --header "Authorization: "  - Should work! Authorized!

最后,在我們的前端補(bǔ)充上相關(guān)信息,在點(diǎn)擊登錄后應(yīng)該可以看到如下信息:

線上體驗(yàn)地址:sample.authing.cn/aws/

Enjoy! 什么是 Authing?
Authing 提供專業(yè)的身份認(rèn)證和授權(quán)服務(wù)。
我們?yōu)殚_發(fā)者和企業(yè)提供用以保證應(yīng)用程序安全所需的認(rèn)證模塊,這讓開發(fā)人員無需成為安全專家。
你可以將任意平臺(tái)的應(yīng)用接入到 Authing(無論是新開發(fā)的應(yīng)用還是老應(yīng)用都可以),同時(shí)你還可以自定義應(yīng)用程序的登錄方式(如:郵箱/密碼、短信/驗(yàn)證碼、掃碼登錄等)。
你可以根據(jù)你使用的技術(shù),來選擇我們的 SDK 或調(diào)用相關(guān) API 來接入你的應(yīng)用。當(dāng)用戶發(fā)起授權(quán)請(qǐng)求時(shí),Authing 會(huì)幫助你認(rèn)證他們的身份和返回必要的用戶信息到你的應(yīng)用中。

Authing 在應(yīng)用交互中的位置

官網(wǎng):http://authing.cn

小登錄:https://wxapp.authing.cn/#/

倉庫: 歡迎 Star,歡迎 PR

https://gitee.com/Authi_ng

https://github.com/authing

Demo:

https://sample.authing.cn

https://github.com/Authing/qr...

文檔:https://docs.authing.cn/authing/

歡迎關(guān)注 Authing 技術(shù)專欄

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/106984.html

相關(guān)文章

  • 使用 Authing + Lambda 替代 AWS Cognito

    摘要:編寫函數(shù)編寫函數(shù)推薦使用這個(gè),控制臺(tái)中的函數(shù)編寫堪稱讓人痛不欲生。在控制臺(tái)中安裝在中引入包后會(huì)一起打包上傳到運(yùn)行時(shí)中。 Amazon Web Services(AWS) 雖然作為市場(chǎng)份額全球第一的云計(jì)算廠商,其產(chǎn)品也不是完美無缺的,Cognito (AWS 的身份認(rèn)證解決方案)及其附帶的中文文檔就是一個(gè)反面教材,其難用程度令人發(fā)指。當(dāng)然,除了不易用之外,還有訪問速度緩慢,不適用于中國市...

    Vultr 評(píng)論0 收藏0
  • 走進(jìn)身份管理-IAM/IDaaS

    摘要:企業(yè)通過微信微博等為消費(fèi)者提供社交認(rèn)證或其他更多第三方身份提供商。支持多樣身份提供方案良好的身份管理解決方案應(yīng)該支持幾乎所有流行的身份來源。易于遷移應(yīng)支持移入和移出身份管理解決方案而不受限 IDaaS 身份即服務(wù)是隨著云計(jì)算發(fā)展起來的新軟件即服務(wù)。 showImg(https://segmentfault.com/img/remote/1460000020177039?w=800&h=...

    gghyoo 評(píng)論0 收藏0
  • IDaaS 云端身份認(rèn)證,你了解這個(gè)新興的市場(chǎng)嗎?

    摘要:而云端身份認(rèn)證就是這樣一個(gè)構(gòu)建軟件基礎(chǔ)設(shè)施的細(xì)分市場(chǎng)。可見,云端身份認(rèn)證的市場(chǎng)在海外已經(jīng)被打開,這同時(shí)也是中國的機(jī)會(huì)。在中國,是認(rèn)證行業(yè)的領(lǐng)頭羊,其已在新三板上市。這有助于防止身份盜用,消除了個(gè)人數(shù)字身份在不同場(chǎng)景使用時(shí)信息不一致的風(fēng)險(xiǎn)。 showImg(/Users/jack/Authing/images/idaas.jpg); 云端身份認(rèn)證,也叫IDaaS(Identity As ...

    harryhappy 評(píng)論0 收藏0
  • AWS-Lambda 使用入門

    摘要:例如,控制臺(tái)使用調(diào)用類型,因此當(dāng)您使用控制臺(tái)調(diào)用函數(shù)時(shí),控制臺(tái)將顯示返回的值。如果別名用于調(diào)用函數(shù),將為別名指向的版本。 場(chǎng)景:現(xiàn)在需要開發(fā)一個(gè)前后端分離的應(yīng)用,后端采用 RESTful API 最為方便,但是如果這個(gè)后端服務(wù)會(huì)在一天中的某些時(shí)候有高并發(fā)的情況,使用什么樣的架構(gòu)最為簡(jiǎn)單呢? 剛思考這個(gè)問題的時(shí)候我想到的解決方案可能有以下幾種: 使用CDN內(nèi)容分發(fā)網(wǎng)絡(luò),減少主服務(wù)器的...

    RobinQu 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<