>  Q&A  >  본문

javascript - redis를 사용하여 싱글 로그인 구현

사용자가 로그인한 후 사용자 정보가 redis에 저장되고 동시에 토큰 값이 생성됩니다. 사용자가 다른 인터페이스를 클릭하면 토큰 값이 전달되고 로그인 상태가 표시됩니다. 내가 작성한 코드는 항상 구현에 실패하나요?

我想大声告诉你我想大声告诉你2706일 전820

모든 응답(5)나는 대답할 것이다

  • 淡淡烟草味

    淡淡烟草味2017-05-24 11:32:41

    PC측에서 동일한 1차 도메인 이름으로 Single Sign-On하면 쿠키만 작동하면 됩니다.
    물론 토큰을 사용하는 것과 쿠키를 사용하는 것은 동일합니다.
    원칙은 거의 같습니다. 구현하면 안 돼요 그냥 보세요,

    1. 새 페이지에서 토큰을 받을 수 있나요? 2. 토큰을 기반으로 Redis에서 사용자 데이터를 확인할 수 있나요? 3. 사용자 데이터를 확인할 수 있다면 다른 질문이 있나요?

    회신하다
    0
  • 阿神

    阿神2017-05-24 11:32:41

    주요 질문은 사용자가 방문할 때 토큰 정보를 어떻게 가져오도록 하느냐입니다.
    Redis를 이용하여 저장한 후, 쿠키 값으로 검증합니다.

    회신하다
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-24 11:32:41

    사용자가 다른 페이지를 클릭하면 사용자 ID를 가져옵니다. 토큰을 생성할 때 uid 솔트 또는 더 복잡한 암호화 알고리즘을 사용하여 토큰을 암호화하고 생성합니다. 사용자 ID를 받은 후 해당 ID를 이용해 암호화하고 토큰과 비교합니다. 동의하시면 로그인이 됩니다. (이것이 아마도 당신이 달성하고 싶은 효과일까요?)

    회신하다
    0
  • PHP中文网

    PHP中文网2017-05-24 11:32:41

    잠깐만요, Single Sign-On을 위한 토큰 문제를 고려하는 것 외에도 A사이트에 로그인할 때 B사이트를 열 때 생성된 정보를 직접 가져오는 방법을 고려해야 합니다. 실제로, 다른 사이트의 쿠키와 세션은 서로 다르기 때문에 얻을 수 없습니다. 나는 ucenter가 무엇을 하는지 보았습니다. A는 로그인한 후 js를 통해 그의 모든 형제 사이트에 대한 http 요청을 시작합니다. 이는 로그인 작업을 위해 모든 사이트에 토큰을 전달하는 것과 같습니다.

    회신하다
    0
  • PHP中文网

    PHP中文网2017-05-24 11:32:41

    Token은 실제로 비밀번호를 대체합니다. user_id=xxx&token=xxxx. 사용자 ID를 통해 로그인 정보를 쿼리하고 쿼리된 토큰이 매개변수 token과 일치하는지 비교합니다.

    Single Sign-On을 위해 제가 생각한 솔루션

    예를 들어
    사용자 센터 Passport.test.com
    결제 센터 pay.test.com
    Passport.test.com에서
    p3p 헤더 설정("P3P: CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR");
    사용자의 로그인 정보를 암호화하여 쿠키에 기록합니다

    pay.test.com에서 쿠키 정보를 받아 Passport.test.com 인터페이스로 보내 로그인 정보를 확인하세요

    회신하다
    0
  • 취소회신하다