본문 바로가기
  • think normal
새로워지기/마흔의 생활코딩

cursor IDE_coding test 02 - Solid 프로토콜

by 청춘만화 2023. 12. 13.

 

 

프롬프트 

@https://solidproject.org/TR/protocol 
HTML과 JavaScript를 사용하여
1) 로그인 버튼 클릭하면 Solid 프로토콜을 사용하여 로그인 기능을 구현해줘
2) 단, 로그인 팝업창과 메인 윈도우간 통시 에러를 방지하기 위해 try-catch 블록으로 감싸서 예외를 처리
3) 작성한 코드를 실행하기 위해 터미널에서 입력해야하는 내용도 알려줘

 

 

답변 

Solid 프로토콜은 웹 기반의 데이터 저장 및 교환을 위한 표준입니다. 이 프로토콜은 사용자가 자신의 데이터에 대한 제어권을 가지고, 다양한 애플리케이션에서 이 데이터를 사용할 수 있게 합니다. 아래는 Solid 프로토콜을 사용하여 간단한 웹 애플리케이션을 만드는 예제 코드입니다. 이 코드는 사용자가 로그인하고 자신의 프로필 정보를 가져오는 기능을 구현합니다.

HTML과 JavaScript를 사용하여 로그인 버튼을 클릭하면 Solid 프로토콜을 사용하여 로그인 기능을 구현하는 예제입니다. 이 예제에서는 solid-auth-client 라이브러리를 사용하여 로그인을 처리합니다. 먼저, 필요한 라이브러리를 설치해야 합니다. 이를 위해 npm (Node Package Manager)를 사용합니다. 터미널에서 다음 명령어를 입력합니다:

npm install solid-auth-client

 

HTML 코드:

<!DOCTYPE html>
<html>
<head>
  <title>Solid Login</title>
  <script src="https://unpkg.com/solid-auth-client/dist-lib/solid-auth-client.bundle.js"></script>
</head>
<body>
  <button id="loginButton">Login</button>

  <script src="login.js"></script>
</body>
</html>

hello.html( 로그인을 위한 더미)

 

 

JavaScript 코드 (login.js 파일):

const solidAuth = solid.auth;

async function login() {
  try {
    let session = await solidAuth.currentSession();
    if (!session) {
      session = await solidAuth.popupLogin({ popupUri: 'https://solidcommunity.net/common/popup.html' });
    }
    console.log(`Logged in as ${session.webId}`);
  } catch (error) {
    console.error(`An error occurred: ${error}`);
  }
}

document.getElementById('loginButton').addEventListener('click', login);

join.js( 솔리드 연결용)

 

 

그런 다음, HTML 파일과 JavaScript 파일이 있는 디렉토리에서 간단한 HTTP 서버를 시작해야 합니다. 이를 위해 Python의 http.server를 사용할 수 있습니다:

python -m http.server

이제 웹 브라우저를 열고 `http://localhost:8000`에 접속하면 HTML 페이지를 볼 수 있습니다. "로그인" 버튼을 클릭하면 로그인 프로세스가 시작됩니다.

 

 

생성 결과 

port 8000에서 넘어온 후, 정상적으로 회원 가입, 로그인을 진행  

(여기서 부터는 솔리드 api에서 제공하는 화면들)

접속 후
로그인 후

댓글