forcemax's

OpenID Provider를 만들기위해 PHP Standalone OpenID Server를 설치해보았다.

requirement는 기본적으로 모두 설치하여 맞추었다.

config.php를 설정하고 사용자가 잘 만들어지는 것까지 확인하였다.

그러나 OpenID 인증이 실패한다.

삽질끝에 알게된 것...

MySQL이 utf8로 동작하면서 PHP Standalone OpenID Server가 실행하면서 생성해야 하는 Table들이 정상적으로 생성되지 않은 것이다 ㅠㅠ

결국 Table들의 생성 SQL문을 수정하였다.

CREATE TABLE identities (id INTEGER AUTO_INCREMENT NOT NULL PRIMARY KEY,
account VARCHAR(255) character set latin1 NOT NULL, url TEXT character set latin1 NOT NULL,
UNIQUE (account, url(255)));

CREATE TABLE sites (account VARCHAR(255) character set latin1 NOT NULL,
trust_root character set latin1 TEXT, trusted BOOLEAN,
UNIQUE (account, trust_root(255)));

어차피 영문만 들어갈 필드들... 결국 필드 character set을 latin1으로 바꿨다.

기타 설치형 블로그/홈페이지 주소를 내 오픈ID로 쓰세요.

내 블로그 주소가 myblog.net이고 내 myID.net ID가 joyce 라면,

myblog.net 페이지의 head 태그안에 아래의 태그들을 삽입하십시오.

<link rel="openid.server" href="http://server.myid.net/server" />
<link rel="openid.delegate" href="http://joyce.myid.net/" />
<meta http-equiv="X-XRDS-Location" content="http://joyce.myid.net/xrds" />