2014-01-22 7 views
3

최근에 내가 만들고있는 게임에 대해 OpenID를 구현했으며 (현재로서는 Google 만), 나는 lightopenid을 사용하고 있습니다. 나는 사용자 (의도적으로)로부터 최소한의 정보를 요구하고 있는데, 그들이 성공적으로 인증 할 때, 나는 https://www.google.com/accounts/o8/ud과 같이 보이는 긴 URL을 돌려 보낸다. (나는 그것이 보이는 것처럼 거의 가깝다고 생각한다. 그 후에 임의의 문자로 데이터베이스에 액세스 할 수 있습니다. 로그인시 빠른 URL 검색을 위해이 URL을 데이터베이스의 문서 ID로 사용하고 있습니다.OpenID 링크를 다른 사용자에게 공개해도 안전합니까?

사이트에 플레이어 프로필을 추가하고 싶지만 그렇게하기 위해 이 긴 URL을 공개적으로 다른 플레이어에게 공개해야합니다.

내 질문은 Google에서 다른 사용자에게 안전하게 표시 할 수있는 URL입니까, 아니면 사용자에게 표시 할 다른 필드를 찾아야합니까?

+0

OpenID 식별자가 비밀로 유지되어야하는지 여부는 알지 못합니다. 아마도 그렇지는 않지만 좋은 질문입니다. 내가 아는 것은 길고 추한 경향이 있다는 것입니다. 이미 데이터베이스가있는 경우 일반 자동 생성 ID가있는 사용자 정의 사용자 테이블이 이미 있다고 가정합니다. 그것을 사용하는 것이 현명한 선택입니다. –

+0

데이터베이스에 CouchDB를 사용하고 URL을 문서 ID로 사용하므로 일반 자동 생성 된 ID가 없습니다. – snollygolly

답변

2

누군가의 OpenID 식별자를 알고있는 것은 로그인을 아는 것과 거의 동일한 보안 의미를가집니다. 유일한 차이점은 OpenID 식별자는 일부 서버를 가리키는 URL이므로 이론적으로 악의적 인 사용자가 신원 정보 (즉, 서버)를 공격 할 수 있음을 알고 있지만 이는 사이트의 보안 문제가 아닙니다.

게시는 대부분 안전해야하지만 좋은 생각인지 여부는 다른 문제입니다. 사람이 읽을 수있는 문자열 (예 : 가명)은 사용자 식별자로 더 나은 선택 일 수 있습니다.

즉, 일부 사이트에서는 사용자의 로그인을 비밀로 간주합니다. 대부분은 그렇지 않지만 사용자가 직접 선택해야합니다.

+0

감사합니다, 감사합니다. 나는 친숙한 이름도 저장하고 있지만 사용자가 원하는대로 친숙한 이름을 변경하도록하기 때문에 일관된 이름 (그리고 문서의 ID)은 로그온 URL뿐입니다. – snollygolly

+0

또는 단순히 식별자로 첫 번째 친숙한 이름을 사용하거나 하나를 요청할 수 있습니다. 이 전략은 다양한 웹 사이트에서도 사용됩니다. – Mewp