-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
#76 OAuth 계정 Refactoring #64
base: master
Are you sure you want to change the base?
Conversation
그렇군.. 겹치지않는 이메일이 나오도록 다시 해봤는데 확인해볼래? |
일단 겹치지 않는 메일이 생기긴 하는데 이메일 변경 페이지로 넘어가지 않네.. 그리고 지금 email을 user edit에서 변경할 수 있도록 되어 있는데 이거 막아야 하지 않을까 싶기도 하고 ㅋㅋ |
크 그랬네 timestamp가 이때쓰이면 좀 좋을거같아서 이렇게 한번 바꿔봄.. |
수고하셨습니다~
좀 더 살펴본 뒤, 또 피드백 드리겠습니다.(..) |
음... OAuth로 로그인 했을 때 동일한 이메일이 있을 경우 두 계정을 Merging 하는 걸 구현하셨는데,
이러면 [email protected]의 계정을 해킹할 수 있는거 아닌가요?(..) |
역시나 조금 더 살펴보고, 더 피드백 드리겠습니다.(..) |
여담인데, SNS 로그인이 실패했을 경우 redirect해줄 필요가 있을까요? 그냥 실패를 확인한 액션( |
여튼 이정돕니다.(헉헉) |
아, 사용하지 않는 코드가 종종 보이는데, 이런 건 꼼꼼하게 지워주셔야 코드가 비대해 지는 걸 막을 수 있습니다. |
여기까지 이 이쓔 트랙팅 완료.... 후아 민혁이 화이팅! |
확인 했습니다! |
음... 좀 더 살펴봐야 할텐데, 일단 현재까지 살펴본 몇 개만 피드백 하겠습니다.
나머지는 오늘내일 중으로 살펴보겠습니다~ |
#76 의 본문에서 이 Pull Request에 대한 태그를 달았습니다. 앞으로는 "어떻게하면 다른 사람들이 쉽게 리뷰할 수 있을까?"를 고민해주면서 작업하시면, 다른 사람들이 좀 더 편하게 리뷰할 것 같습니다. ㅎㅎ |
@shaynekang 네. 리퀘스트 제목도 바꾸긴 했는데 76번 이슈에 이 리퀘스트를 참조하는 것은 깜빡했네요. 주의하겠습니다.. |
|
@shaynekang 네 한번 해보겠습니다. 그리고 저 화면은 에러는 아니고 테스트하다가 값을 출력했던건데 지운다는걸 미처 확인하지 못했네요. 수정하겠습니다 |
@DonutWorks/owners 76번 이슈의 7~9번에 대해 리팩토링 진행했습니다.
|
크억, 난 class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
def authenticate(provider)
@provider = provider
@uid = request.env["omniauth.auth"].uid
result = User.find_for_oauth(@provider, request.env["omniauth.auth"])
case @provider
when :twitter
@nickname = request.env["omniauth.auth"]["extra"]["raw_info"].screen_name
case result[:status]
when :success
@user = result[:data]
sign_in_and_redirect @user, :event => :authentication
when :first_login
@user = User.new
render sign_up_from_twitter_users_path
end
else
@email = request.env["omniauth.auth"]["info"].email
case result[:status]
when :success
@user = result[:data]
sign_in_and_redirect @user, :event => :authentication
when :first_login
@user = User.new
render nickname_new_users_path
when :duplicated
@user = User.find_by_email(@email)
render merge_users_path
end
end
end
def twitter
authenticate(:twitter)
end
def facebook
authenticate(:facebook)
end
def google_oauth2
authenticate(:google_oauth2)
end
end 근데 왠지 메소드가 하나인 것 보다 세개인 게 더 깔끔해 보이네요.(..) |
@shaynekang 음 네 알겠습니다 |
음... 간단히 테스트를 해 봤는데, 생각보다 버그가 많네요. ㅎㄷ
|
헐.. |
ㅋㅋㅋㅋ 오늘 밤 새야겠구만! |
9번은 SNS 로그인이 아닐경우 패스워드를, SNS 로그인일 경우 해당 SNS로 로그인을 시도하는 것으로 검증해야 할 것 같습니다. 다만 이건 시간이 오래 걸릴테니, 일단 제외하고 나머지를 고치는 데 집중해주세요. |
테스트 코드 도입이 시급합니다. ㅠㅠ |
흑흑... 하지만 뭐 어쩔 수 없죠. ㅋ |
확인했습니다. |
@fegs 음... 문제는 없을 것 같은데, 굳이 |
|
위 버그를 수정했습니다
|
|
우와앙 감사합니다 |
추카추카 확인! |
확인했습니다! 수고하셨습니다 ㅋㅋ |
#19 를 해결했습니다.
트위터는 기본적으로 이메일을 전달해주지 않기 때문에
둘중에 하나를 선택해야 하는데요.
앞서 이슈에 적었던 대로 2번에 맞춰 해결해보았습니다.