OneTime-Password向けFirebase導入
1. issue
One-Time-Passwordを実装するために、Firebaseの導入中にエラーが発生し、ユーザー名が定義されていないとみなされます.otp>functions>twilio.js
const twilio = require('twilio');
require('dotenv').config();
const accoutSid = process.env.ACCOUNTSID;
const authToken = process.env.AUTHTOKEN;
module.exports = new twilio.Twilio(accoutSid, authToken);
c:\Users\user\momo\wellwork\otp\functions>node twilio.js
undefined undefined undefined
c:\Users\user\momo\wellwork\otp\functions\node_modules\twilio\lib\rest\Twilio.js:132
throw new Error('username is required');
^
Error: username is required
at new Twilio (c:\Users\user\momo\wellwork\otp\functions\node_modules\twilio\lib\rest\Twilio.js:132:11)
at Object.<anonymous> (c:\Users\user\momo\wellwork\otp\functions\twilio.js:7:18)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)
2. solution
Google検索結果.ルートディレクトリにenvファイルを置かないと、未定義のエラーが発生することがあるそうです.
otp>機能内.envファイルを移動し、問題が解決しました.
再配置時に今回HTTP Error:403,Unknown Errorが発生しました.c:\Users\user\momo\wellwork\otp\functions>firebase deploy --project one-time-password-24b66
! functions: package.json indicates an outdated version of firebase-functions.
Please upgrade using npm install --save firebase-functions@latest in your functions directory.
=== Deploying to 'one-time-password-24b66'...
i deploying functions
i functions: ensuring required API cloudfunctions.googleapis.com is enabled...
i functions: ensuring required API cloudbuild.googleapis.com is enabled...
+ functions: required API cloudbuild.googleapis.com is enabled
+ functions: required API cloudfunctions.googleapis.com is enabled
i functions: preparing functions directory for uploading...
i functions: packaged functions (39.02 KB) for uploading
! functions: Upload Error: HTTP Error: 403, Unknown Error
Error: HTTP Error: 403, Unknown Error
Firebase CLI
firebase logout
を選択します.
firebase login
簡単な解決をした.変更された値を認識していないために問題が発生したようです.c:\Users\user\momo\wellwork\otp\functions>firebase deploy --project one-time-password-24b66
! functions: package.json indicates an outdated version of firebase-functions.
Please upgrade using npm install --save firebase-functions@latest in your functions directory.
=== Deploying to 'one-time-password-24b66'...
i deploying functions
i functions: ensuring required API cloudfunctions.googleapis.com is enabled...
i functions: ensuring required API cloudbuild.googleapis.com is enabled...
+ functions: required API cloudbuild.googleapis.com is enabled
+ functions: required API cloudfunctions.googleapis.com is enabled
i functions: preparing functions directory for uploading...
i functions: packaged functions (39.02 KB) for uploading
+ functions: functions folder uploaded successfully
i functions: creating Node.js 12 function createUser(us-central1)...
+ functions[createUser(us-central1)]: Successful create operation.
+ Deploy complete!
Project Console: https://console.firebase.google.com/project/one-time-password-24b66/overview
導入時にcreate userはfirebaseで生成されます.
ちなみに、otpプロセスは以下の論理で行われます.
postmanがまずcreate userを要求することによってユーザ情報を生成する.
リクエストリクエストrequest userは、そのユーザーの存在を確認します.
Twillioを使用して、次の認証コードをアルファベットで送信します.
ユーザが適切なコードで応答するとtokenが発行されます.
ps.関連コードは私のFirebase-otp羽毛布団で見つけることができます.
Reference
この問題について(OneTime-Password向けFirebase導入), 我々は、より多くの情報をここで見つけました
https://velog.io/@maliethy/One-Time-Password를-위한-firebase-deploy중-error-해결하기
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
otp>functions>twilio.js
const twilio = require('twilio');
require('dotenv').config();
const accoutSid = process.env.ACCOUNTSID;
const authToken = process.env.AUTHTOKEN;
module.exports = new twilio.Twilio(accoutSid, authToken);
c:\Users\user\momo\wellwork\otp\functions>node twilio.js
undefined undefined undefined
c:\Users\user\momo\wellwork\otp\functions\node_modules\twilio\lib\rest\Twilio.js:132
throw new Error('username is required');
^
Error: username is required
at new Twilio (c:\Users\user\momo\wellwork\otp\functions\node_modules\twilio\lib\rest\Twilio.js:132:11)
at Object.<anonymous> (c:\Users\user\momo\wellwork\otp\functions\twilio.js:7:18)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)
Google検索結果.ルートディレクトリにenvファイルを置かないと、未定義のエラーが発生することがあるそうです.
otp>機能内.envファイルを移動し、問題が解決しました.
再配置時に今回HTTP Error:403,Unknown Errorが発生しました.
c:\Users\user\momo\wellwork\otp\functions>firebase deploy --project one-time-password-24b66
! functions: package.json indicates an outdated version of firebase-functions.
Please upgrade using npm install --save firebase-functions@latest in your functions directory.
=== Deploying to 'one-time-password-24b66'...
i deploying functions
i functions: ensuring required API cloudfunctions.googleapis.com is enabled...
i functions: ensuring required API cloudbuild.googleapis.com is enabled...
+ functions: required API cloudbuild.googleapis.com is enabled
+ functions: required API cloudfunctions.googleapis.com is enabled
i functions: preparing functions directory for uploading...
i functions: packaged functions (39.02 KB) for uploading
! functions: Upload Error: HTTP Error: 403, Unknown Error
Error: HTTP Error: 403, Unknown Error
Firebase CLIfirebase logout
を選択します.
firebase login
簡単な解決をした.変更された値を認識していないために問題が発生したようです.
c:\Users\user\momo\wellwork\otp\functions>firebase deploy --project one-time-password-24b66
! functions: package.json indicates an outdated version of firebase-functions.
Please upgrade using npm install --save firebase-functions@latest in your functions directory.
=== Deploying to 'one-time-password-24b66'...
i deploying functions
i functions: ensuring required API cloudfunctions.googleapis.com is enabled...
i functions: ensuring required API cloudbuild.googleapis.com is enabled...
+ functions: required API cloudbuild.googleapis.com is enabled
+ functions: required API cloudfunctions.googleapis.com is enabled
i functions: preparing functions directory for uploading...
i functions: packaged functions (39.02 KB) for uploading
+ functions: functions folder uploaded successfully
i functions: creating Node.js 12 function createUser(us-central1)...
+ functions[createUser(us-central1)]: Successful create operation.
+ Deploy complete!
Project Console: https://console.firebase.google.com/project/one-time-password-24b66/overview
導入時にcreate userはfirebaseで生成されます.ちなみに、otpプロセスは以下の論理で行われます.
postmanがまずcreate userを要求することによってユーザ情報を生成する.
リクエストリクエストrequest userは、そのユーザーの存在を確認します.
Twillioを使用して、次の認証コードをアルファベットで送信します.
ユーザが適切なコードで応答するとtokenが発行されます.
ps.関連コードは私のFirebase-otp羽毛布団で見つけることができます.
Reference
この問題について(OneTime-Password向けFirebase導入), 我々は、より多くの情報をここで見つけました https://velog.io/@maliethy/One-Time-Password를-위한-firebase-deploy중-error-해결하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol