Appwrite에서 Magic URL을 사용하여 로그인하는 방법
일부 조직은 암호 기반 인증에서 마법 로그인으로 전환하고 있는데, 이것은 그들의 위험 선호에 달려 있다.사용자가 Slack inbox, Tumblr inbox, 또는 회사 내의 응용 프로그램과 서비스에 접근하기를 원한다면,magic login은 여러 개의 비밀번호를 기억하지 않도록 합니다.
본고에서 저는 매직 링크가 어떻게 작동하는지, 그 장점, 그리고 Appwrite-Web SDK를 어떻게 사용하여 웹 응용 프로그램에 매직 URL 인증을 설정하는지 연구하고자 합니다.
마법 링크는 어떻게 작동합니까?
magic 로그인 프로세스는 다음 세 단계로 구성됩니다.
개발자는 설정된 시간대나 사용자 세션 기간 동안 링크를 유효하게 설정할 수 있습니다.사용자가 제때에 링크를 클릭하면 인증을 받고 전체 세션 동안 로그인 상태를 유지할 수 있도록 쿠키를 설정합니다.
magic link 방법의 작업 원리는 비밀번호 리셋과 유사하지만 사용자가 비밀번호를 기억하거나 비밀번호를 입력하지 않아도 계정에 접근할 수 있다.이런 방식을 통해 매직 링크는 로그인 과정을 간소화하고 최상의 사용자 체험을 제공하며 하드웨어 요구를 강요할 필요가 없다.
Appwrite에서 Magic 로그인을 설정하는 방법
Appwrite-Web SDK를 사용하여 웹 응용 프로그램에 신기한 URL 인증을 추가하도록 안내합니다.우리Flutter SDK와 우리Android SDK도 이렇게 할 수 있다.
첫 번째 단계는 NPM을 사용하여 다음과 같은 방법으로 Dell 웹 SDK를 프로젝트에 추가하는 것입니다.
npm install appwrite --save
번들로 Appwrite를 가져오려면(예: Rollup 또는 Webpackimport { Appwrite } from "appwrite";
CDN(컨텐트 제공 네트워크)과 함께 Appwrite 서비스를 사용하려면 다음 스크립트를 HTML 파일에 추가해야 합니다.<script src="https://cdn.jsdelivr.net/npm/appwrite"></script>
다음 단계에서는 프로젝트 ID를 사용하여 SDK를 초기화해야 합니다. 프로젝트 설정에서 다음을 찾을 수 있습니다.// Init your Web SDK
const appwrite = new Appwrite();
appwrite
.setEndpoint('http://localhost/v1') // Your Appwrite Endpoint
.setProject('455x34dfkj') // Your Appwrite Project ID
;
Appwrite에서 신기한 URL을 만드는 방법
SDK를 설정한 후 계정 서비스에 액세스하여 createMagicURLSession() 메서드를 호출합니다.이 메서드는 매개 변수로서 전자 메일 주소와 URL 리디렉션을 적용합니다.
// Initiate the Magic URL login
appwrite.account.createMagicURLSession('[email protected]', 'http://localhost/')
.then(response => {
console.log(response); // Success
}, error => {
console.log(error); // Failure
});
createMagicURLSession() 방법이 잘못되지 않으면 키가 포함된 URL을 전자 우편으로 사용자에게 보냅니다.링크를 클릭하면 사용자가 제공한 링크 URL로 리디렉션되고 URL 조회 문자열에 사용자 ID와 키가 추가됩니다.1시간 후에는 이 링크가 더 이상 유효하지 않습니다.기본적으로 제공된 전자 메일 주소가 사용자가 아닌 경우 새 전자 메일 주소가 만들어집니다.###Appwrite에서 신기한 URL로 로그인하는 방법
이제 사용자가 시작할 수 있기 때문에 전자 우편에서 URL을 다시 정할 수 있습니다.
URL의 secret 및 userId 값에 대한 쿼리 문자열을 사용하여 updateMagicURLSession() 메서드를 호출합니다.
To avoid Redirect Attacks, only the domains you specified when adding your platforms via the console will work as redirect URLs.
const urlParams = new URLSearchParams(window.location.search);
const userId = urlParams.get('userId');
const secret = urlParams.get('secret');
let promise = appwrite.account.updateMagicURLSession(userId, secret);
promise.then(function (response) {
console.log(response); // Success
}, function (error) {
console.log(error); // Failure
});
성공적으로 로그인updateMagicURLSession()하면 사용자가 로그인하게 됩니다.링크가 일단 사용되면 다시 사용할 수 없습니다.마법 링크 사용의 장점
마법 링크를 실시하는 것은 조직에 많은 이점이 있다.다음과 같은 이점이 있습니다.
마법 링크를 해보시겠어요?Appwrite가 있으면 마법 링크는 무료로 설정하기 쉽습니다.궁금한 사항이 있으면 Appwrite Discord Server로 이동하여 문제를 해결할 수 있습니다.
참조 자료:
즐거운 Appwriting♥
You can now extend your support by buying me a Coffee.😊👇
읽어주셔서 감사합니다.😊
Reference
이 문제에 관하여(Appwrite에서 Magic URL을 사용하여 로그인하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/muthuannamalai12/how-to-use-magic-url-login-with-appwrite-2ckl텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)