You are viewing a single comment's thread from:
RE: [React Native] 스팀커넥트(Steemconnect) 로그인 만들기
로그인 기능까지 있으니 정말 완전한 앱같네요.
스팀커넥트는 어떤 부분이 마음에 안드시나요?
저도 사실 잘 이해가 안되는게 busy등 이미 권한을 위임하고도 매번 active키 입력을 요구하는데 뭔가 잘못된 사용방식 때문인건지 아니면 스팀커넥트자체가 그런것인지 모르겠더군요. steemauto의 경우 한번만 위임하고 다음에는 포스팅키 로그인으로 되는데 뭔가 잘못된 사용같아요.
로그인시에 매번 active키를 요구하는게 불안합니다. 이미 해당앱에 포스팅 권한을 위임한 경우에는 다른 방식을 사용해도 될텐데요. 그리고 포스팅 권한을 위임한 앱이 벌써 10개가 넘어가네요. 스팀커넥트를 사용한 앱의 키는 스팀커넥트 서버에서 관리되고 있는 것으로 알고 있는데, 이게 과연 안전한건지 의문도 듭니다.
제가 이해하는 바로는 키 자체가 저장되지는 않습니다. 심지어 포스팅 권한 부여한것도 권한을 부여한 것이지 포스팅 private key가 스팀커넥트에 저장되는 것은 아닙니다. 물론 이 과정은 믿어야하는 것이고 일단 오픈소스이고 서버에는 다른버전을 올려놓지 않았다면ㅎㅎ 믿어줘야겠죠ㅎㅎ
하지만 계속 액티브키로 로그인을 하게 만드는 방식은 참으로 문제입니다.
곰돌이가 @anpigon님의 소중한 댓글에 $0.018을 보팅해서 $0.005을 살려드리고 가요. 곰돌이가 지금까지 총 2827번 $34.573을 보팅해서 $35.131을 구했습니다. @gomdory 곰도뤼~
busy는 포스팅 외에 액티브 키를 써야만 하는 기능들을 몇개 가지고 있지 않나요? 파워업이라던가 스팀 전송이라던가?
scope에서 voting, comment만 사용한다면, 포스팅 키로 토큰 만들 수 있게 하면 괜찮을 거같네요. 지금은 voting, comment만 사용한다고 해도 액티브키를 요청하니깐요.
음.. 믿고 사용하는거 같습니다.
맞습니다. 불안감이 조금은 있지만 그냥 믿고 사용하는 겁니다.
안전하게 사용 하려면 스팀커넥트에 액티비키를 입력하지 않고 포스팅키로 직접 로그인 하는 것이 좋겠지요.
@anpigon님도 태그합니다.
저도 처음엔 powerup, transfer등을 쉽게해주려고(아무래도 busy는 좀더 사용자 친화적으로 나온거니까요) 그런줄 알았어요. 하지만 해보시면 아시겠지만 다시 active key를 요구합니다.
제 추측은 이전 스팀커넥트 버전에서는 한번 인증하면 해당 암호를 안 물었던 것이 아닐까요? 그러다 바뀌었는데 여전히 이전 방식대로 쓰고 있는 것 같기도 하고. 아무튼 스팀오토를 봤을때도 그렇고 권한부여라는 컨셉상으로도 한번 부여했으면 posting key로 할 수 있는 것은 다 되야하므로 불필요한 (잘못된) 인증방식인 것 같아요. 어제 깃허브에 질문해놓았으니 답이 오면 관련 포스팅을 하려고요. 감사합니다.
그리고 어제 실제 스팀오토 로그인되는 과정을 보고 포스팅키로만 로그인을 하니 이미 권한이 부여됐음에도 보팅, 포스팅을 못하더군요. 제 생각엔 api를 잘못사용해서 그런것 같아요. 어제 처음써본 steempeak도 마찬가지더군요.
제가 이해를 잘못하고 있는 것일 수도 있겠네요. 하지만 스팀커넷트 서버 API 오픈소스를 보면, 포스팅 키를
process.env.BROADCASTER_POSTING_WIF
에서 가져와서broadcast.send
하고 있습니다.https://github.com/steemscript/steemconnect-api/blob/master/routes/api.js#L126
제가 염려하는 부분은 우리가 권한을 위임한 앱의 포스팅키 유출입니다. 하지만 서버에 안전하게 잘 보관되고 있을 것이라고 믿고 있습니다. dclick, busy 등 대부분의 dapp이 스팀커넥트 로그인 방식만 지원해서, 어쩔수 없이 사용하고 있습니다. steem에도 metamask나 scatter와 비슷한 크롬 확장 익스텐션이 나왔으면 좋겠습니다.
아 제 이전글에 대한 답글이군요. 서로 미스커뮤니케이션이 있었던 것 같습니다. 저는 사용자의 키를 저장한다고 말씀하신 줄 알았는데 "스팀커넥트를 사용한 앱의 키"라고 앱의 키를 말씀하신거군요ㅎㅎ 어쩐지 이상하다 했습니다. 제가 제대로 안읽었네요 죄송합니다ㅠㅠ
네 말씀하신대로 키는 서버에 저장을 하든 env에 실행할때 세팅을 하든지 할테니 털리면 위험하죠ㅠㅠ 어쩔수 없는 것 같습니다. 말씀하신대로 metamask같은게 나와야할텐데 만들고는 있긴하던데 어찌되가는지는 모르겠네요. 감사합니다.
답변 감사합니다. 암호화폐 개인키는 로그인 비밀번호인 동시에 화폐를 사용할 수 있는 키다 보니 민감합니다. 이더리움은 메타마스크가 개인키를 보호해주고, 이오스는 스캐터가 보호해주는데, 스팀은 스팀커넥트가 보호해준다? ㅎㅎ
그리고 스텔라X는 소스를 분석해보니, 사용자 지갑 개인키를 서버에서 발급하는 키로 암호화해서 브라우저 로컬스토리지에 저장하고 있더군요. 암호화키는 개인마다 발급되는듯 합니다. 오픈소스가 아니다보니 정확한 분석은 아닐수 있습니다.
곰돌이가 @anpigon님의 소중한 댓글에 $0.017을 보팅해서 $0.006을 살려드리고 가요. 곰돌이가 지금까지 총 2850번 $34.882을 보팅해서 $35.351을 구했습니다. @gomdory 곰도뤼~