Appwrite에서 Magic URL을 사용하여 로그인하는 방법

마법 링크를 사용하면 비밀번호 없이 로그인할 수 있습니다.사용자는 어떠한 증빙서류도 입력하지 않아도 로그인할 수 있다.대신 내장된 토큰이 있는 URL을 이메일이나 문자로 보냅니다.사용자가 링크를 클릭하여 신분 검증을 할 때 응답용 프로그램이나 시스템으로 방향을 바꾸고 마법 비밀번호를 사용한 것처럼 로그인에 성공하지만 실제 비밀번호는 밝히지 않는다.
일부 조직은 암호 기반 인증에서 마법 로그인으로 전환하고 있는데, 이것은 그들의 위험 선호에 달려 있다.사용자가 Slack inbox, Tumblr inbox, 또는 회사 내의 응용 프로그램과 서비스에 접근하기를 원한다면,magic login은 여러 개의 비밀번호를 기억하지 않도록 합니다.
본고에서 저는 매직 링크가 어떻게 작동하는지, 그 장점, 그리고 Appwrite-Web SDK를 어떻게 사용하여 웹 응용 프로그램에 매직 URL 인증을 설정하는지 연구하고자 합니다.

마법 링크는 어떻게 작동합니까?
magic links.png
magic 로그인 프로세스는 다음 세 단계로 구성됩니다.
  • 먼저 사용자는 로그인 페이지에 자신의 이메일 주소를 입력합니다.
  • 가입된 전자 우편 주소라면 신기한 링크가 있는 전자 우편을 받을 수 있습니다.
  • 이메일을 연 후 사용자는 신기한 링크를 클릭하여 로그인 과정을 마칩니다.
  • 사용자가 선택하면 시스템은 그들에게 실시간 링크를 보낼 수 있으며, 그들은 나중에 이 링크를 사용하여 자신을 인증할 수 있다.이 과정은 암호를 변경하는 과정과 유사하다. 사용자는 특수 링크를 받을 것이다. 이 링크는 자신이나 그녀의 암호를 돌려서 사용자가 새 암호를 만들 수 있도록 한다.마법 로그인을 만들기 위해서는 사용자에게 일회용 링크를 보내는 것이 아니라 비밀번호를 삭제하는 해결 방안을 생각해 내야 한다.
    개발자는 설정된 시간대나 사용자 세션 기간 동안 링크를 유효하게 설정할 수 있습니다.사용자가 제때에 링크를 클릭하면 인증을 받고 전체 세션 동안 로그인 상태를 유지할 수 있도록 쿠키를 설정합니다.
    magic link 방법의 작업 원리는 비밀번호 리셋과 유사하지만 사용자가 비밀번호를 기억하거나 비밀번호를 입력하지 않아도 계정에 접근할 수 있다.이런 방식을 통해 매직 링크는 로그인 과정을 간소화하고 최상의 사용자 체험을 제공하며 하드웨어 요구를 강요할 필요가 없다.

    Appwrite에서 Magic 로그인을 설정하는 방법

    Appwrite-Web SDK를 사용하여 웹 응용 프로그램에 신기한 URL 인증을 추가하도록 안내합니다.우리Flutter SDK와 우리Android SDK도 이렇게 할 수 있다.
    첫 번째 단계는 NPM을 사용하여 다음과 같은 방법으로 Dell 웹 SDK를 프로젝트에 추가하는 것입니다.
    npm install appwrite --save
    
    
    번들로 Appwrite를 가져오려면(예: Rollup 또는 Webpack
    import { 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()하면 사용자가 로그인하게 됩니다.링크가 일단 사용되면 다시 사용할 수 없습니다.

    마법 링크 사용의 장점
    마법 링크를 실시하는 것은 조직에 많은 이점이 있다.다음과 같은 이점이 있습니다.
  • 가벼운 신분 검증 배치와 사용: 마술 링크와 비밀번호 리셋의 절차가 거의 같기 때문에 코드를 미세하게 변경하기만 하면 현저한 추가 비용이 발생하지 않는다.
  • 원활한 로그인: 간단한 마법 링크로 사용자가 자신의 이메일 주소로 프로그램을 등록할 수 있어 간단하고 사용하기 쉽다.
  • 로그인 문제 해결 감소: 마법 링크를 통해 비밀번호를 교체하면 조직의 관리 원가가 낮아진다.따라서 보안 경보와 새 비밀번호 요청은 더 이상 번거롭지 않을 것이다.
  • 다양한 장치의 고가용성: 사용자는 전자메일에 접근할 수 있는 모든 장치에서 마법 링크를 사용하여 신분 검증을 할 수 있기 때문에 스마트폰, 태블릿PC, 노트북과 데스크톱에도 적용된다.링크를 클릭하면 사용자가 사용하는 장치에 대한 인증이 진행됩니다.사용자들은 자연히 그들이 사용했던 장치에서 전자메일을 켜는 것에 익숙하기 때문에 어떠한 마찰도 일으키지 않는다.
  • 간단한 사용자 체험에 영향을 주지 않는 상황에서 고객 계정의 안전을 확보하고 싶다면 마법 링크는 좋은 선택이다.magic links는 응용 프로그램에서 가장 좋은 사용자 인증 옵션입니까?정답은 응용 프로그램의 기능에 달려 있을 수 있습니다.민감한 금융이나 의료 데이터를 처리할 때 마법 링크를 사용하는 것은 현명한 선택이 아닐 수도 있다.만약 당신의 특기가 오락과 인터넷 쇼핑이라면, 당신은 이미 준비가 다 되었을 것입니다.
    마법 링크를 해보시겠어요?Appwrite가 있으면 마법 링크는 무료로 설정하기 쉽습니다.궁금한 사항이 있으면 Appwrite Discord Server로 이동하여 문제를 해결할 수 있습니다.

    참조 자료:
  • Appwrite Discord
  • Appwrite Documentation
  • Appwrite Homepage
  • 이 문서는 Appwrite에서 고객에게 신기한 로그인 방법을 추가하는 것이 얼마나 쉬운지 이해하는 데 도움을 줄 수 있기를 바랍니다.그렇다면 프로젝트에서 Appwrite를 사용하는 데 또 무엇이 필요한가
    즐거운 Appwriting♥

    You can now extend your support by buying me a Coffee.😊👇


    Buy Me A Coffee
    읽어주셔서 감사합니다.😊

    좋은 웹페이지 즐겨찾기