기획은 검정색이다.

[화면설계서] 간편로그인 프로세스 본문

서비스기획/화면설계서

[화면설계서] 간편로그인 프로세스

thinkhub 2024. 9. 18. 22:57

간편로그인 프로세스는 사용자가 별도의 회원가입이나 비밀번호 입력 없이 외부 서비스의 계정을 사용해 간단하게 로그인할 수 있게 하는 절차입니다. 주로 사용되는 간편로그인 방법에는 소셜 로그인과 간편 인증 방식이 있습니다. 

간편로그인기획

 

1. 로그인 옵션 선택

  • 사용자에게 간편로그인 옵션을 제공합니다. 예를 들어, "Google로 로그인", "Facebook으로 로그인", "Apple로 로그인" 등 다양한 소셜 로그인을 선택할 수 있습니다.

2. 외부 서비스로 리디렉션

  • 사용자가 특정 소셜 로그인 옵션을 선택하면 해당 서비스(예: Google, Facebook)로 리디렉션됩니다.
  • 이때 애플리케이션은 외부 서비스에 권한 요청을 위한 파라미터를 전달합니다. 이 파라미터에는 애플리케이션 식별자(client_id), 리디렉션 URI, 권한 요청 범위(scope) 등이 포함됩니다.

3. 사용자 인증

  • 리디렉션된 페이지에서 사용자는 해당 소셜 서비스에 로그인하거나, 이미 로그인된 상태라면 바로 권한 요청 화면이 표시됩니다.
  • 사용자는 애플리케이션이 요청한 정보(예: 이메일 주소, 프로필 정보)에 접근하는 것을 허용합니다.

4. 권한 승인 및 인증 토큰 발급

  • 사용자가 권한을 승인하면, 외부 서비스는 인증 토큰(Access Token)을 발급하여 애플리케이션에 전달합니다.
  • 이때 토큰은 리디렉션 URI에 포함되어 애플리케이션에 전달됩니다.

5. 토큰 검증 및 사용자 정보 요청

  • 애플리케이션은 수신한 토큰을 사용하여 외부 서비스에 사용자 정보를 요청합니다.
  • 이 과정에서 토큰의 유효성 검증이 이루어지며, 성공하면 사용자 프로필 정보가 반환됩니다.

6. 애플리케이션 내 계정 생성 또는 로그인

  • 반환된 사용자 정보(예: 이메일, 이름, 프로필 사진 등)를 사용하여 애플리케이션 내에 새로운 계정을 생성하거나 기존 계정에 연결합니다.
  • 만약 사용자가 이전에 간편로그인으로 로그인한 적이 있다면 해당 계정으로 로그인 처리를 합니다.

7. 세션 생성 및 로그인 완료

  • 애플리케이션은 사용자 세션을 생성하고, 로그인 완료 상태로 사용자에게 리디렉션합니다.
  • 이후부터는 해당 세션을 통해 사용자는 지속적으로 서비스를 이용할 수 있습니다.

보안 고려 사항

  • OAuth 2.0 프로토콜: 대부분의 소셜 로그인은 OAuth 2.0을 기반으로 하므로, 해당 프로토콜의 보안 고려 사항을 준수해야 합니다.
  • 토큰 보호: Access Token과 Refresh Token을 안전하게 관리해야 하며, 토큰이 노출되지 않도록 주의해야 합니다.
  • CSRF 방지: CSRF 공격을 방지하기 위해 상태 검증(State Parameter)을 사용하여 요청의 유효성을 검증해야 합니다.

간편 가입 프로세스는 사용자가 별도의 회원 정보 입력이나 비밀번호 설정 없이, 외부 서비스(3rd Party)를 통해 빠르게 회원가입과 로그인을 할 수 있도록 하는 절차입니다. 아래는 제시하신 요구사항에 따른 간편 가입 및 로그인 프로세스를 설명합니다.


1. 간편 가입 아이디 생성

  • 자동 아이디 생성: 간편 가입을 통해 회원가입을 할 때, 사용자가 직접 아이디를 생성하거나 정보를 입력하지 않습니다. 대신, 시스템이 임의로 생성한 아이디를 할당합니다. 이 아이디는 주로 내부 식별 목적으로 사용됩니다.
  • 비밀번호 없음: 간편 가입 방식은 외부 서비스에서 인증을 처리하기 때문에 별도의 비밀번호가 필요하지 않습니다. 이로 인해 보안 및 사용자 편의성이 향상됩니다.
  • 유니크 아이디 생성: 아이디는 임의의 문자열(예: UUID) 또는 외부 서비스에서 제공하는 고유 식별자를 사용하여 생성됩니다.

    카카오톡 간편로그인


 

2. 간편 가입 로그인 프로세스

  1. 로그인 화면에서 간편 가입 옵션 제공:
    • 로그인 화면에 간편 가입을 위한 3rd Party 서비스의 아이콘을 제공합니다. 예를 들어, 카카오, 네이버, 구글 등의 아이콘을 배치하여 사용자가 선택할 수 있도록 합니다.
  2. 사용자가 간편 가입 버튼 선택:
    • 사용자가 '카카오' 등의 간편 가입 버튼을 누르면 해당 3rd Party 서비스의 인증 페이지를 호출합니다.
  3. 외부 서비스 인증:
    • 사용자가 카카오와 같은 외부 서비스에 로그인하거나 이미 로그인된 경우, 애플리케이션은 해당 서비스에 사용자의 정보를 요청합니다.
    • 카카오 인증 서버는 사용자의 승인을 받은 후, 애플리케이션에 인증 토큰(Access Token)을 발급합니다.
  4. 사용자 정보 요청 및 처리:
    • 애플리케이션은 받은 토큰을 이용하여 카카오 서버에 사용자 정보를 요청합니다.
    • 해당 정보를 사용하여 애플리케이션 내 간편 가입 계정을 생성하거나 이미 존재하는 계정과 연결합니다.
  5. 임의 아이디 할당 및 회원 등록:
    • 간편 가입을 처음 시도하는 사용자에게는 시스템이 자동으로 생성한 임의의 아이디를 할당합니다.
    • 이후 애플리케이션은 이 아이디를 사용하여 사용자 정보를 관리합니다.
  6. 세션 생성 및 로그인 완료:
    • 사용자 세션을 생성하고 로그인 상태로 전환합니다.
    • 이후 사용자는 해당 세션을 통해 지속적으로 서비스를 이용할 수 있습니다.

3. 카카오 간편 로그인 약관 동의

카카오톡간편로그인

   
    간편 로그인 버튼을 클릭하면 카카오 페이지를 호출합니다.
    그때, 필요한 약관을 사용자에게 노출하고 사용자는 필수,선택 약관 중 선택합니다.

 

4. 카카오 간편 로그인 프로세스

간편로그인프로세스


    간편 로그인 프로세스는 서비스나 기업마다 다르겠지만 일반적으로 아래와 같이 정의 가능합니다.
    사용자 입장에서 보다 편리하게 위해 보여지지 않는 개발단에서는 회원절차,회원 정책이 까다로운 대기업 프로젝트
    일수록 적지 않은 공수가 필요합니다.

추가 고려 사항

  • 유효성 검사: 외부 서비스로부터 받은 사용자 정보의 유효성을 검사하고 필요한 경우 추가 처리를 해야 합니다.
  • 사용자 데이터 관리: 간편 가입을 통해 수집한 사용자 정보를 안전하게 관리해야 하며, 필요한 경우 사용자가 데이터를 수정할 수 있는 기능을 제공해야 합니다.
  • 보안: OAuth 2.0 프로토콜에 따른 보안 절차를 준수하고, CSRF 및 토큰 유효성 검증 등을 철저히 해야 합니다.


연결된 서비스 관리

카카오 > 설정 > 카카오 계정 화면에 보면 연결된 서비스 관리가 있습니다.

카카오톡 연결된 서비스관리



연결된 서비스 관리 > 외부 서비스 선택

카카오서비스 / for Kakao 제휴 서비스 / 외부 서비스 항목이 보여집니다.

그 중 외부 서비스를 선택합니다.

카카오톡 외부 서비스



연결된 서비스 관리 > 외부 서비스 목록

무의식중에 혹은 잊고 있던 굉장히 많은 서비스를 확인 할 수 있습니다.

원하지 않는 서비스의 간편 로그인 기능을 해지 합니다.

 

외부 서비스 > 원치 않는 서비스 선택

간편 로그인 기능을 삭제 하고자 하는 서비스를 선택하면 연결끊기 , 모든 정보 삭제 버튼이 노출됩니다.

(모든 정보 삭제는 해당 앱에서 가능합니다.)

간편로그인 서비스 연결끊기

 

 

 

 

기획은 검정색입니다.

"졸업 가운의 색이 검정인 이유는 검정이 성취와 권력의 색이기 때문입니다."

 

질문 환영합니다. 댓글 남겨주세요.
thinkhub

 

 

 

728x90