diff --git a/modules/member/conf/module.xml b/modules/member/conf/module.xml
index a2fe0fbee..17b725099 100644
--- a/modules/member/conf/module.xml
+++ b/modules/member/conf/module.xml
@@ -29,6 +29,8 @@
+
+
diff --git a/modules/member/lang/ko.lang.php b/modules/member/lang/ko.lang.php
index b2000f201..8c70dc192 100644
--- a/modules/member/lang/ko.lang.php
+++ b/modules/member/lang/ko.lang.php
@@ -15,6 +15,7 @@
$lang->denied_user_id = '사용금지된 아이디입니다';
$lang->null_user_id = '사용자 아이디를 입력해주세요';
$lang->null_password = '비밀번호를 입력해주세요';
+ $lang->invalid_authorization = '인증이 되지 않았습니다';
$lang->invalid_user_id= '존재하지 않는 사용자 아이디입니다';
$lang->invalid_password = '잘못된 비밀번호입니다';
$lang->allow_mailing = '메일링 가입';
@@ -48,6 +49,7 @@
$lang->default_friend_group = '그룹 미지정';
$lang->member_info = '회원 정보';
$lang->current_password = '현재 비밀번호';
+ $lang->openid = 'OpenID';
$lang->search_target_list = array(
'user_id' => '아이디',
diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php
index 2359b3166..fc294a6c5 100644
--- a/modules/member/member.controller.php
+++ b/modules/member/member.controller.php
@@ -31,6 +31,61 @@
return $this->doLogin($user_id, $password);
}
+ /**
+ * @brief openid로그인
+ **/
+ function procMemberOpenIDLogin() {
+ ob_start();
+ require('./modules/member/openid_lib/class.openid.php');
+ require_once('./modules/member/openid_lib/libcurlemu.inc.php');
+
+ $user_id = Context::get('user_id');
+
+ $openid = new SimpleOpenID();
+
+ $openid->SetIdentity($user_id);
+ $openid->SetTrustRoot('http://' . $_SERVER["HTTP_HOST"]);
+
+ $openid->SetRequiredFields(array('email','fullname','dob'));
+
+ if (!$openid->GetOpenIDServer()) {
+ $error = $openid->GetError();
+ $this->setError(-1);
+ $this->setMessage($error['description']);
+ } else {
+ $openid->SetApprovedURL( getUrl('','module','member','act','procMemberOpenIDValidate') );
+ $url = $openid->GetRedirectURL();
+ $this->add('redirect_url', $url);
+ }
+ ob_clean();
+ }
+
+ /**
+ * @brief openid 인증 체크
+ **/
+ function procMemberOpenIDValidate() {
+ ob_start();
+ require('./modules/member/openid_lib/class.openid.php');
+ require_once('./modules/member/openid_lib/libcurlemu.inc.php');
+
+ $openid = new SimpleOpenID;
+ $openid->SetIdentity($_GET['openid_identity']);
+ $openid_validation_result = $openid->ValidateWithServer();
+
+ if ($openid_validation_result == true) {
+ } else if($openid->IsError() == true) {
+ $error = $openid->GetError();
+ return $this->stop($error['description']);
+ } else {
+ return $this->stop('invalid_authorization');
+ }
+ ob_clean();
+ print "
";
+ print_r($_REQUEST);
+ print "";
+ }
+
+
/**
* @brief 로그아웃
**/
diff --git a/modules/member/skins/default/css/module.css b/modules/member/skins/default/css/module.css
new file mode 100644
index 000000000..a3a14ad85
--- /dev/null
+++ b/modules/member/skins/default/css/module.css
@@ -0,0 +1,10 @@
+@charset "utf-8";
+
+/* pathNavigation */
+.openid_user_id {
+ background: url(../images/login-bg.gif) left no-repeat;
+ background-color: #ffffff;
+ background-position: 0 50%;
+ color: #000;
+ padding-left: 18px;
+}
diff --git a/modules/member/skins/default/filter/openid_login.xml b/modules/member/skins/default/filter/openid_login.xml
new file mode 100644
index 000000000..61bba2ff2
--- /dev/null
+++ b/modules/member/skins/default/filter/openid_login.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
diff --git a/modules/member/skins/default/images/login-bg.gif b/modules/member/skins/default/images/login-bg.gif
new file mode 100644
index 000000000..cde836c89
Binary files /dev/null and b/modules/member/skins/default/images/login-bg.gif differ
diff --git a/modules/member/skins/default/js/member.js b/modules/member/skins/default/js/member.js
index fbb7122f8..5fd7d21a8 100644
--- a/modules/member/skins/default/js/member.js
+++ b/modules/member/skins/default/js/member.js
@@ -86,6 +86,13 @@ function completeLogout(ret_obj) {
location.href = current_url.setQuery('act','');
}
+/* 오픈아이디 로그인 후 */
+function completeOpenIDLogin(ret_obj, response_tags) {
+ var redirect_url = ret_obj['redirect_url'];
+ location.href = redirect_url;
+}
+
+
/* 이미지 이름, 마크 삭제 */
function doDeleteImageName(member_srl) {
var fo_obj = xGetElementById("fo_insert_member");
diff --git a/modules/member/skins/default/login_form.html b/modules/member/skins/default/login_form.html
index 2b8ef6a73..945833735 100644
--- a/modules/member/skins/default/login_form.html
+++ b/modules/member/skins/default/login_form.html
@@ -1,8 +1,12 @@
-
+
+
+
+
+