diff --git a/backend/.env.example b/backend/.env.example index 2267539..015def8 100644 --- a/backend/.env.example +++ b/backend/.env.example @@ -7,6 +7,7 @@ INFURA_API_KEY= MATRIX_HOMESERVER_URL="https://matrix.dgov.io" MATRIX_USER="forum-api" MATRIX_PASSWORD= +MATRIX_ACCESS_TOKEN= BOT_STORAGE_PATH="./data/bot-storage.json" BOT_CRYPTO_STORAGE_PATH="./data/bot-crypto" BOT_INSTANCE_ID= \ No newline at end of file diff --git a/backend/package.json b/backend/package.json index 0c6cc19..ecae0a0 100644 --- a/backend/package.json +++ b/backend/package.json @@ -4,7 +4,8 @@ "description": "", "main": "src/index.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "test": "echo \"Error: no test specified\" && exit 1", + "login": "node scripts/matrix-login" }, "author": "", "license": "ISC", diff --git a/backend/scripts/matrix-login.js b/backend/scripts/matrix-login.js new file mode 100644 index 0000000..76c544b --- /dev/null +++ b/backend/scripts/matrix-login.js @@ -0,0 +1,18 @@ +const { + MatrixAuth, +} = require('matrix-bot-sdk'); + +const { + MATRIX_HOMESERVER_URL, + MATRIX_USER, + MATRIX_PASSWORD, +} = process.env; + +const login = async () => { + console.log(`MATRIX_HOMESERVER_URL="${MATRIX_HOMESERVER_URL}"`); + const auth = new MatrixAuth(MATRIX_HOMESERVER_URL); + const client = await auth.passwordLogin(MATRIX_USER, MATRIX_PASSWORD); + console.log(`MATRIX_ACCESS_TOKEN="${client.accessToken}"`); +}; + +login(); diff --git a/backend/src/matrix.js b/backend/src/matrix.js index f5c225a..3ae7401 100644 --- a/backend/src/matrix.js +++ b/backend/src/matrix.js @@ -1,6 +1,5 @@ const { AutojoinRoomsMixin, - MatrixAuth, MatrixClient, RustSdkCryptoStorageProvider, SimpleFsStorageProvider, @@ -11,8 +10,7 @@ const { appState, proposalEventIds } = require('./db'); const { MATRIX_HOMESERVER_URL, - MATRIX_USER, - MATRIX_PASSWORD, + MATRIX_ACCESS_TOKEN, BOT_STORAGE_PATH, BOT_CRYPTO_STORAGE_PATH, BOT_INSTANCE_ID, @@ -50,11 +48,9 @@ outboundQueue.pause(); const start = async () => { console.log('MATRIX_HOMESERVER_URL:', MATRIX_HOMESERVER_URL); - const auth = new MatrixAuth(MATRIX_HOMESERVER_URL); - const authClient = await auth.passwordLogin(MATRIX_USER, MATRIX_PASSWORD); client = new MatrixClient( MATRIX_HOMESERVER_URL, - authClient.accessToken, + MATRIX_ACCESS_TOKEN, storageProvider, cryptoProvider, );