2009-04-13 2 views
2

OpenID를 사용하여 Google을 통해 내 웹 사이트에 로그인 할 수있게하려고합니다. 결국 방문자들에 의해 사용되지만, 지금은 단순히 자신의 로그인을 확인하기 위해 Google로 하드 코딩되어 있습니다.DotNetOpenId ClaimedIdentifier -이 코드를 하드 코딩해도 안전합니까?

내 코드는 다음과 같습니다

var openId = new OpenIdRelyingParty(); 

// If we have no response, start 
if (openId.Response == null) 
{ 
    // Create a request and send the user off 
    openId.CreateRequest("https://www.google.com/accounts/o8/id").RedirectToProvider(); 
} 
else 
{ 
    // We got a response - check it's valid 
    if (openId.Response.Status == AuthenticationStatus.Authenticated 
     && openId.Response.ClaimedIdentifier == "blah_blah") 
    { 
    } 
} 

을 지금, 나는 몇 가지 질문이 있습니다

  1. 가 안전하게 번이 실행 ClaimedIdentifier을 캡처하고 거기에 넣어하는 것입니다. 항상 같을까요?

  2. 인가 그것은 그것은이 하드 코드 안전 (인가 그것은 비밀? 사용자가 볼 않은 경우, 그 아무것도 comprimise 것? 사용자는이를 위조 할 수 있습니까? 수는 Google 원인 ClaimedIdentifiers 자신의 URL로 시작?)

나는 문서를 사용해 봤지만 약간 희소하고이 질문에 답하는 데 어려움이 있습니다.

** 편집 : ** 나는 내 자신의 질문에 대답했을 수도 있습니다. 내 웹 사이트 (openid.delegate)에 메타 태그를 사용하여 로그인을 위해 불쾌한 Google URL 대신 내 블로그 URL을 사용할 수 있도록했습니다. Google을 통해 로그인하면 ClaimedIdentifier가 내 블로그 URL로 반환됩니다. 이렇게하면 누구든지 내 로그인 페이지로 이동하여 자신의 Google 계정으로 로그인 할 수 있고 자신의 ClaimedIdentifier로 내 블로그로 되돌릴 수 있다고 생각합니다.

  1. ClaimedIdentifier가 너무 쉽게 위조 된 것으로 보이는 사용자를 어떻게 인증해야합니까? 많은 장난 (그리고 친구가 내게로 로그인을 시도 필요) 후

답변

4

은 예, 주장 식별자를 저장하는 안전하고, 그 값은 그렇게하지 비밀 청구 된 ID 값을 가진 코드가 유출 된 경우 보안 손상이 발생하지 않습니다.

예, 항상 같아야합니다. 그렇지 않으면 사용자가 만든 계정에 다시 액세스 할 수 없습니다. 즉, 영역 URL이 웹 사이트에 대해 변경되는 경우 Google은 귀하의 사이트에 새로운 claims_id를 모두 전송하기 시작한다는 점에서 독특합니다. 영역이 일정하게 유지되는 한 claim_id도 유지됩니다. DotNetOpenId를 사용하고 있기 때문에 기본 영역은 웹 사이트 루트 URL 일 뿐이므로 사이트가 호스팅되는 URL을 변경하지 않는 한 계속 유지됩니다.

당신이 결정했듯이, claims_id는 그렇게 쉽게 위조 될 수 없습니다. 그렇다면 OpenID는 정말로 쓸모가 없습니다.

+0

응답 해 주셔서 감사합니다. : D 나는 그것이 안전해야한다고 확신했다. (오픈 아이디는 쓸모가 없다.) 그러나 claim_id가 일회용 임시 토큰 (원래 Google은 조금 임의적으로 보인다)인지 확실하지 않았다.모든 것이 분명해졌습니다 :) –

+0

그래, 그 URL에 gocha와 google을 만났습니다. – UpTheCreek

1

, 나는

내 웹 사이트에있는 태그는 내 Google 사용자 이름을 포함 ... 나는 대답을 생각하고, 내가하려고하면 내 블로그 URL을 사용하여 요청에 대해 다른 사용자로 로그인하면 실패합니다 (Google에서 로그인 한 웹 사이트로 나를 보내지 않고 실패한 메일을 다시 보내는 것). 이 날은 ClaimedIdentity 로 내 자신의 URL을 반환하는 안전하다고 생각하게

은, 등 등, 위조 할 수없는

관련 문제