Netlify GoTrue 사용자를 Appwrite로 마이그레이션하는 방법
10763 단어 databasetutorialwebdevjavascript
GoTrue 기반 플랫폼에서 사용자를 내보내고 Appwrite로 가져오는 방법을 보여드리겠습니다.
먼저 Appwrite가 정확히 무엇인지 궁금할 것입니다. Appwrite은 Docker 마이크로 서비스 세트로 패키지된 오픈 소스 BaaS(Backend-as-a-Service)로 배경 지식이 있는 개발자에게 최신 앱을 빠르고 안전하게 구축하는 데 필요한 도구를 제공합니다.
이 자습서에서는 컴퓨터에 NodeJS이 설치되어 있어야 합니다. 이를 사용하여 GoTrue 사용자를 내보내고 Appwrite로 가져올 것입니다. 또한 이 자습서의 끝 부분에서 시작하기 위해 복사하여 붙여넣을 수 있는 스크립트를 제공합니다.
TL, DR - GitHub to completed project
경고: 비밀번호가 6자 미만인 사용자는 Appwrite에서 작동하지 않습니다. 이 경우 사용자에게 이메일을 보내 비밀번호를 재설정하는 것이 좋습니다.
이제 첫 번째 단계로 넘어 갑시다.
GoTrue에서 사용자 내보내기
GoTrue에서 사용자를 내보내려면 Postgres 데이터베이스에 연결하고
auth.users
테이블을 덤프해야 합니다. 이것은 node-postgres
노드 모듈을 사용하여 수행할 수 있습니다.node-postgres 모듈 사용
먼저 프로젝트 폴더를 만들고 npm을 사용하여
node-postgres
모듈을 설치합니다.npm install pg
다음으로
main.js
라는 파일을 만들고 다음 코드를 추가합니다.const { Client } = require('pg')
// Connect to your Postgres database
const client = new Client({
user: 'postgres',
host: 'postgres_url',
database: 'postgres',
password: 'yourpasword',
port: 5432,
})
client.connect()
// Dump the auth.users table
client.query('SELECT * FROM auth.users', (err, res) => {
if (err) {
console.log(err.stack)
client.end()
} else {
console.log('Recieved ' + res.rowCount + ' users')
client.end()
return res.rows
}
})
이 코드는 GoTrue 데이터베이스에 연결하고
auth.users
테이블을 덤프합니다. 그런 다음 res.rows
변수를 사용하여 사용자에 액세스할 수 있습니다. 다음 섹션에서는 이 코드를 추가하여 사용자를 Appwrite로 가져옵니다.Appwrite로 사용자 가져오기
이제 GoTrue에서 사용자를 내보냈으므로 Appwrite로 가져올 수 있습니다. 이를 위해 NodeJS용 Appwrite Server SDK를 사용할 것입니다.
먼저 NPM을 사용하여 Appwrite SDK를 설치하겠습니다.
npm install node-appwrite
완료되면 이전 섹션에서 작성한 코드를 확장하여 사용자를 Appwrite로 가져옵니다.
파일 맨 위에 다음을 추가하고 Appwrite 인스턴스와 일치하도록 변수를 업데이트하십시오.
const SDK = require('node-appwrite')
const appwriteClient = new sdk.Client()
appwriteClient
.setEndpoint('http://localhost/v1') // Your API Endpoint
.setProject('projectKey') // Your project ID
.setKey('Server API Key') // Your secret API key
.setSelfSigned() // Use only on dev mode with a self-signed SSL cert
;
그런 다음
client.query
콜백의 코드를 다음으로 덮어씁니다.console.log('Received ' + res.rowCount + ' users')
for (const user of res.rows) {
console.log('Importing user' + user.email)
await users.createBcryptUser(
user.id,
user.email,
user.encrypted_password
)
}
console.log('Successfully Imported ' + res.rowCount + ' users')
client.end()
return res.rows
이 코드는 각 사용자를 반복하고
users.createBcryptUser
메서드를 사용하여 Appwrite에서 새 사용자를 만듭니다. Appwrite API Reference에서 이 방법에 대한 자세한 정보를 찾을 수 있습니다.모든 작업이 완료되면
node main.js
를 사용하여 스크립트를 실행할 수 있으며 사용자를 Appwrite로 가져올 수 있습니다. 가져오기가 성공했는지 확인하려면 GoTrue에 테스트 계정이 있는지 확인하십시오.결론
이 자습서에서는 GoTrue 기반 플랫폼에서 사용자를 내보내고 Appwrite로 가져오는 방법을 보여 주었습니다. 시작하기 위해 복사하여 붙여넣을 수 있는 스크립트도 제공했습니다. 질문이나 의견이 있으시면 언제든지 저희 Discord 서버에 가입하십시오.
이 프로젝트의 전체 버전은 GitHub 저장소here에서 찾을 수 있습니다.
앱라이트에 대해 더 알아보기
Appwrite는 오픈 소스 BaaS(Backend-as-a-Service)로 Docker 마이크로 서비스 세트로 패키징되어 모든 배경의 개발자에게 최신 앱을 빠르고 안전하게 구축하는 데 필요한 도구를 제공합니다.
Discord에서 채팅하거나 Appwrite에 대해 자세히 알아보세요.
차세대 웹, Flutter 또는 서버 측 애플리케이션의 백엔드로 Appwrite를 확인하십시오. 다음은 자세한 정보를 제공하는 편리한 링크입니다.
• Appwrite Contribution Guide
• Appwrite Discord
• Appwrite Github
• Appwrite Documentation
Reference
이 문제에 관하여(Netlify GoTrue 사용자를 Appwrite로 마이그레이션하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/appwrite/how-to-migrate-netlify-gotrue-users-to-appwrite-3390
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Netlify GoTrue 사용자를 Appwrite로 마이그레이션하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/appwrite/how-to-migrate-netlify-gotrue-users-to-appwrite-3390텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)