묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
모듈을 만들려 합니다. (로그인 관련 부분에 대해..)
2013.09.14 02:43
모듈을 이용하여 특정 사이트에서 인증을 받으면 그 리턴값으로 XE에 아이디가 없다면 회원 가입시키고, 로그인. 아이디가 있다면 로그인을 시키려고 합니다. (소셜XE와 비슷한것 같습니다.)
특정 비밀번호를 가입할때 같이줘서 할당해주고 인증 받아오면 그 아이디와 특정비밀번호를 자동으로 입력되게 하여 로그인 되게 하는 방식은 보안에 좋지 않을것 같아, 소셜XE를 조금 참고해보니 계정별로 랜덤함수로 문자를 뽑아내서 md5 해쉬를 이용해서 비밀번호를 할당해주는 것 같았습니다. 제 능력으론 소셜XE를 제대로 이해하기는 힘들어서 소셜XE처럼 비밀번호 없이 계정을 로그인 시키는 방법이나, 또는 다른 방법이 있다면 조금 지식을 얻어가고 싶습니다.
+ 추가
쓰고보니 특정 사이트라니깐 조금 이해안갈 것 같아서 추가합니다.
스팀의 openid를 이용하여 로그인을 하는걸 만들고 있습니다. (흔히 아시는 Sign in through STEAM ^^;)
LightOpenID 라는 php 소스를 이용하여, 스팀으로 이동 후 인증과정을 거치고 반환된 값을 가공하여 아래와 같은 json 파일을 받아 회원가입 과 로그인을 할 생각입니다.
{ "response": { "players": [ { "steamid": "유저식별번호(id)", "communityvisibilitystate": 0, "profilestate": 0, "personaname": "유저닉네임", "lastlogoff": 0, "profileurl": "http://steamcommunity.com/id/<nickname>/", "avatar": "http://media.steampowered.com/steamcommunity/public/images/avatars/08/0.jpg", "avatarmedium": "http://media.steampowered.com/steamcommunity/public/images/avatars/08/0_medium.jpg", "avatarfull": "http://media.steampowered.com/steamcommunity/public/images/avatars/08/0_full.jpg", "personastate": 0, "primaryclanid": "0", "timecreated": 0, "loccountrycode": "KR", "locstatecode": "0" } ] } }
유저 고유번호인 steamid 값을 아이디로 설정하고, personaname 값을 닉네임으로 설정등...