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")
{
}
}
을 지금, 나는 몇 가지 질문이 있습니다
가 안전하게 번이 실행 ClaimedIdentifier을 캡처하고 거기에 넣어하는 것입니다. 항상 같을까요?
- 인가 그것은 그것은이 하드 코드 안전 (인가 그것은 비밀? 사용자가 볼 않은 경우, 그 아무것도 comprimise 것? 사용자는이를 위조 할 수 있습니까? 수는 Google 원인 ClaimedIdentifiers 자신의 URL로 시작?)
나는 문서를 사용해 봤지만 약간 희소하고이 질문에 답하는 데 어려움이 있습니다.
** 편집 : ** 나는 내 자신의 질문에 대답했을 수도 있습니다. 내 웹 사이트 (openid.delegate)에 메타 태그를 사용하여 로그인을 위해 불쾌한 Google URL 대신 내 블로그 URL을 사용할 수 있도록했습니다. Google을 통해 로그인하면 ClaimedIdentifier가 내 블로그 URL로 반환됩니다. 이렇게하면 누구든지 내 로그인 페이지로 이동하여 자신의 Google 계정으로 로그인 할 수 있고 자신의 ClaimedIdentifier로 내 블로그로 되돌릴 수 있다고 생각합니다.
- ClaimedIdentifier가 너무 쉽게 위조 된 것으로 보이는 사용자를 어떻게 인증해야합니까? 많은 장난 (그리고 친구가 내게로 로그인을 시도 필요) 후
응답 해 주셔서 감사합니다. : D 나는 그것이 안전해야한다고 확신했다. (오픈 아이디는 쓸모가 없다.) 그러나 claim_id가 일회용 임시 토큰 (원래 Google은 조금 임의적으로 보인다)인지 확실하지 않았다.모든 것이 분명해졌습니다 :) –
그래, 그 URL에 gocha와 google을 만났습니다. – UpTheCreek