2012-10-06 2 views
7

내 웹 사이트의 다양한 응용 프로그램에서 범용 로그인을 사용하는 것은 대단한 사용자 경험 일 것입니다. 현재 Magento 매장과 IPS 게시판 커뮤니티가 있습니다. 그리고 나는 그들을 사용자를위한 하나의 범용 로그인으로 통합하려고 노력하고있다.Magento에 암호가 저장되는 위치 및 방법은 무엇입니까?

IPS 보드는 다양한 로그인 방법을 제공하며 그 중 하나는 사용자 세부 정보를 외부 데이터베이스와 통합 할 수있는 외부 데이터베이스입니다.

환상적인! 따라서 IPS와 Magento의 데이터베이스를 연결하여 통합 된 사용자 자격 증명을 얻을 수 있습니다.

그러나 지금까지는 고객 _entity.email이라는 이메일 필드 만 찾을 수 있습니다.

내 질문은 :

  1. 암호 해시 필드 (table.field가) 젠토에 무엇입니까?
  2. Magento는 어떻게 암호 해시를 생성합니까? MD5? SHA1? 소금은 무엇입니까 (설치에 따라 다르 겠지만 어디에서 찾을 수 있습니까?). 당신이 첨부 된 이미지에서 볼 수 있듯이

, 나는 사용자의 로그인 정보에 대한 외부 데이터베이스로 젠토의 데이터베이스를 사용하는 IPS 수 있도록 젠토 암호를 저장하는 위치와 방법의 세부 사항이 필요합니다.

은 첨부 :

enter image description here

enter image description here

이 작업을 수행하는 방법에 어떤 아이디어 나 제안이 크게 감사하겠습니다!

+0

좋은 설명은 http://www.magentogarden.com/blog/how-are-passwords-encrypted-in-magento.html에 있습니다. – pevik

답변

8

고객의 암호는 customer_entity_varchar에 저장되며 eav 속성입니다. IPB 외부 데이터베이스 기능은 사용할 수 없습니다. 코드에서 고객을 인증하려면 Mage::getModel('customer/customer')->authenticate($logi, $password);을 사용해야합니다.

+1

가장 쉬운 방법은 magento 이벤트 인 customer_customer_authenticated 및 customer_register_success를 사용하여 로그인/등록 작업을 연결하고 IPB에서 사용자 정의 쿼리를 추가하는 것입니다. IPB의 API를 사용하기 위해 자동로드를 사용하거나 사용자 정의 모델을 작성하고 데이터를 bosrd의 데이터베이스로 전송할 수 있습니다. 또 다른 방법은 모든 시스템에 대해 하나의 사용자 엔티티로 복잡한 하나의 데이터베이스 로그인 시스템을 만드는 것입니다. 어떤 방식 으로든 표준 통합 도구는별로 도움이되지 않습니다.기본적으로 비밀번호는 md5 ('saltpassword')로 생성됩니다. ': salt'는 CE 버전입니다. 소금은 2 개의 임의의 영숫자입니다. –

3

/app/etc/local.xml에서 암호화 키를 찾을 수 있습니다. 난 사용자 테이블을 보지 못했지만 내 생각 엔 해시 필드는 암호화 된 암호입니다. 가장이 논리를 넣어 어디가 해결해야

$password = 'whatever'; //your logic provides this password 

require_once('app/Mage.php'); //path to your Magento app/Mage.php 
Mage::app(); //we can now use magento functionality 

$decrypted = Mage::getModel('core/encryption')->decrypt($password); 

:

암호화 기능을 사용하면 IPS 보드에서 젠토에 액세스 할 수 있습니다 그래서 만약 당신이 비슷한을 할 수 Mage_Core_Model_Encryption에 그것을 통합하기위한 명령이지만 최소한 그것은 시작이다.

+2

고객의 암호를 해시 할 때 암호를 해독 할 수 없습니다 (기본적으로 md5 CE에서는 SHA1, EE에서는 SHA1). 암호화 키는 주문, API 키 및 세 번째 부분 통합 암호에서 중요한 데이터를 암호화하는 데 사용됩니다. –

관련 문제