var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
if (loginInfo == null)
{
return RedirectToAction("Login");
}
비주얼 스튜디오 2013년, 아스피네 afaq 로빈 구글 사이트, 내가 제대로 로그인하십시오 표준 MVC5 했다.
구글 계정 dell. (https://console.developers.google.com/project) 를 설치
콜백 URL 설정 / 구글 로그인했습니다 '거기' 기타 등등. < br/>; T , # 39 don& 해야 할 일에 대한 중요한 참고 있습니다.
너회가 don& t need to # 39 의 설치, 아무것도 없는, 컨트롤러거 있는 행위 또는 특별한 권한을 웹스콘프리스 라우팅합니다 리디렉션할 uirl - Url 이 핸들이 항상 / 구글 로그인했습니다 및 로빈 리디렉션하십시오 이 behind the scenes 당신꺼에요.
예를 들어, url 은 me.com 사이트에서 할 수 있는 이들 3 콜백하는 구글 개발자 콘솔:
http://localhost:53859/signin-google
http://test.me.com/signin-google
https://me.com/signin-google
포트 번호를 VS 제공했음 프로젝트의 첫 번째 있는모든 등 있습니다.
, 구글+ apiu 활성화하십시오 3. * B 의 장점 중 하나가 이 문제의 근본 원인을 감춰집니다 있으며 여기에 질문 - # 39 의 경우, s, t # 39 it& don& 이렇게 쉽게 할 수 있는 '/' 에는 '계정 / 에스테르나요긴콜백 크리스티나랑 요청을 &, 오류 때문에', 그리고 that& # 39, s = access_denied 로빈 user& # 39 에 대한 권한 요청을 할 수 없다 "고 말했다" 며 "구글은 구글+ 기본 프로파일입니다. 나는 이것이 Google& # 39, s, t tell 그 can& # 39 장애 또는 Microsoft& # 39 의.
구글+ API 를 사용할 수 있도록 api 를 왼쪽에 있는 개발자 콘솔입니다 사냥에 구글+ 및 히트 활성화하십시오 클릭합니다. 네 정말 그렇게 할 필요가 있습니다. # 39, re 씻어 버렸어요 don& 못하며창조된 that. You& 경우 t # 39.
var 구글 = new GoogleOAuth2AuthenticationOptions () { 123abc.apps.googleusercontent.com = " 클리렌티드 "; 클라이랑체릿 = " 456xyz"; 공급자입니다 = new GoogleOAuth2AuthenticationProvider () }; 구글. 스쿠페트라드 (email" ";). app. 자크루글로텐티카션 (구글).
그냥 다시 한 번 더 많아 이 문제에 대한 답을, 여기서 로빈 isn& 하고, t / 구글 및 정보기술 (it) 등 거의 모든 # 39 명은 현재 vs2013/mvc5/owin 템플리트를 잘못이다. < br/>; # 39, t need to 웹스콘피그 수정 전혀 don& 있습니다. < br/>; # 39, 어떤 특별한 라우팅합니다 너회가 don& 만들 필요가 없다. < br/>; 시도하지 합니다 '/' 다른 위치로 구글 로그인했습니다 사용하거나 다른 점, 진실이며당신이 말해둘꼐요 shouldn& 시도, 콜백 url # 39 를 바로 't', '또는' 에스테르나요긴콘퍼마션 에스테르나요긴콜백 타이법으로요 계정 / / / 구글 로그인했습니다 '와' 에 필요한 절차를 별도로 있기 때문에 이들은 모두 owin/google 과정이다.
OK, I found out 왜 it& # 39 의 nulll. 구글은 구글 API 를 활성화해야 합니다 + 콘솔이군요. 또한 smartupdate 연결된 비밀 키를 가진 끝에 붙이십시오 후에는 데이터베이스에구성원을 코드 공간이 아니다. 그들은 왜 can& 복귀하십시오 t # 39, 일반 오류? # 39, 내가 don& 수 있을지 알 수 없다.
제대로 말한 것처럼, 다른 대부분의 시간을 that& # 39 에 대한 권한이 없기 때문에 여기서는 구글+ apiu 구글 API 에 대한 권한을 구글+ apiu 프로젝트 관리자를 볼 수 있는 방법을
프로젝트 단계 1.* 위에서 combobox 가서 대시보드인 > 선택할 수 있습니다. Apiu 활성화하십시오 ! [입력하십시오. 이미지 여기에 설명을] [1]
Google plus 를 단계 2:* 검색하겠습니다 정보기술 (it) ! [입력하십시오. 이미지 여기에 설명을] [2]
단계 3:* 사용할 수 있도록! ! [입력하십시오. 이미지 여기에 설명을] [3]
해당 프로젝트에 대한 목록을 볼 수 있습니다 대시보드인 돌아가면 활성화됨 API& # 39 의 해당 프로젝트의 맨 아래에 ! [입력하십시오. 이미지 여기에 설명을] [4]
내 이 문제를 해결했다.
구글+ 활성화하십시오 제공한다. 이는 잡았다, 이는 문제의 근본 원인을 여기에 질문 - don& # 39 의 경우, s, t, 이렇게 할 수 있는 # 39 it& 크리스티나랑 '/' 에는 '= access_denied 요청을 계정 / 에스테르나요긴콜백 &, 오류 때문에', 그리고 that& # 39 의 로빈 user& # 39 에 대한 권한 요청을 할 수 없다 "고 말했다" 며 "구글은 구글+ 기본 프로파일입니다. 나는 이것이 Google& # 39, s, t tell 그 can& # 39 장애 또는 Microsoft& # 39 의.
이 문제를 겪고 있는 사람들을 위한 웹 Api. 아님 다른 솔루션을 도움말에서는 (), '항상' 오텐티카션메니지스터게테스테르나요기닌포라인스 되돌려줍니다 nulll 심지어 google plus apiu 활성화되었습니다.
이 사용자 정의 함수 afaq 로지닌포. 마이크로소프트 (ms) 가 웹 api 를 통해 신청할 때는 확실히 버그 게테스테르나요기닌포라인스.
private async Task<ExternalLoginInfo> AuthenticationManager_GetExternalLoginInfoAsync_WithExternalBearer()
{
ExternalLoginInfo loginInfo = null;
var result = await Authentication.AuthenticateAsync(DefaultAuthenticationTypes.ExternalBearer);
if (result != null && result.Identity != null)
{
var idClaim = result.Identity.FindFirst(ClaimTypes.NameIdentifier);
if (idClaim != null)
{
loginInfo = new ExternalLoginInfo()
{
DefaultUserName = result.Identity.Name == null ? "" : result.Identity.Name.Replace(" ", ""),
Login = new UserLoginInfo(idClaim.Issuer, idClaim.Value)
};
}
}
return loginInfo;
}
물론 여기에 대답을 다음과 같은 수많은 레드 허링 대한 검색 및 헤드입니다 긁는 훨씬 후에 내가 겪은 이야기를 내 모든 옵션을 이용하여 구글 개발 콘솔 및 스택 오버플로 결국 on my little blue [설정] 버튼을 Google+API 媛쒖슂 호출이네요 난 것처럼 이 및 안녕하슈 프레스토 통했다. 모든 것을 기본 구성, 콜백 url 및 라우팅할 로빈 실없는 소리 너회가 검토완료 재정의됩니다 구글 로그인했습니다 리디렉션할 uri 에 어떤 경우에도 돌아갑니다 / 구글 및 sends 에스테르나요긴콜백. 그냥 이렇게 오래 사용하면 될 때 모든 치중한다는 기본값입니다 구축현 优秀 Google+API.
비록 좋은 답을 모두 이러한 협력했습니다 - # 39 위, 내 인스턴스입니다 되니그들 I& 연산뿐 점검됩니다 공감할 수 있는 구글 설정값과 크리스씨가 모스키니 there& 확인하고, d, s # 39 많은 잘못된 정보.
It was a & # 39 도프 때도, 나는 내 가져다줄래요 아웃해야 ! 스테이드 service) 이 프로세스를 시작하지 않은 것을 알게 아니 오류 (비호환성의 로그인시키는 는 가장 먼저 한 일은 내가 할 수 있는 서비스 시작 이후 재부트 스테이드 설정되었습니다 수작업식 시스템에서) '에서' 게테스테르나요기닌포라인스 그냥 널 (null)
따라서 다른 사람이 희망을 초과됩니다.
내가 원하는 건 이 번호요 기여할 수 있다. 그냥 최근 맡을게 작업 중. 내가 다시 nulll 게테스테르나요기닌포라인스 경식도 문제가 아니라 운영 중.
그것은 단순히 많은 문제가 발견된 후 제 대답은 검색: 난 결국 내 데이터베이스. 그래서 난 이미 생산에 설정되었습니다 접속하십시오 그 당시 제대로 했는지에 대해 기본적으로 잘못된 연결 문자열을 않을 것이라고 밝혔다. 당시 유일한 심아이엔큐 들어온넘 게테스터 알로지닌포라인스 반환되었습니다 nulll. 따라서 이 경우 데이터베이스 연결 문자열을 확인하고 있습니다!
또한 참고 있는 유일한 심아이엔큐 afaq afnor apc® 필요한 것은 없었다.
Https 를 만들 수 없는 경우 맞춤형 라우팅합니다 활성화하십시오 필요가 없습니다. 그러나 데이터베이스 제대로 작동하고 있는지 확인하십시오.
그러나 그는 .NET 4.6.1 MVC 웹 사이트 및 이전 마이그레이션함으로써 가져다줄래요 apc® 핵심 1.1. 내가 할 때는 내가 전에 중지함 작동합니까 이해했소 apc® 친구가 있었는데, 그 후 백업하십시오 마이그레이션하기 2.x
내 문제가 있는 것은 내 사이트 '에서' 404 콜백하는 구글에서 만났다. 그래서 내가 추가한 '대박' 이라고 하는 생각해봤죠 전송되었기 이스카운트콘트레올리에스테르나요긴콜백 ' [라우트를 (.)]' it 및 Google& # 39 의 콜백하는 충분히 큰 작업을 합니다.
그런 가운데 'null' 반환되었습니다 이 선 (어떤 종류의 매니악 한 되돌려줍니다 'null'?)
var externalLoginInfo = await this.SignInManager.GetExternalLoginInfoAsync();
내가 찾은 해체될 후드 아래에 있는 '쿠키' 는 결국 그 가져오는 처리기에서 에스테르나르셰메 대한 내 처리기에서!
이 모든 잘못을 요격할 수 있는 것 같다고 느꼈다 미들웨어 콜백하는 URI 를 그냥 늦어지게 되었다 그래서 짐작이지만요. [라우트를 (.)] '와' 내 '제거되었으면 404' 문제를 부활하셨잖아요.
그런 다음 이 시작할 때 데릭쉐퍼드와 추가할 수 있다는 것을 발견했다.
applicationBuilder.UseAuthentication();
이 문제를 해결할 수 있지만 다른 보기입니다 404 ''.
>. 아니 오텐티카션셰메 지정되어 있으며, 데포치냉셰메 찾을 수 없었다.
여기서, 제가 해결하십시오 추가하기만 기본 구성표가 오류 명이다.
serviceCollection.AddAuthentication(IdentityConstants.ExternalScheme)
.AddGoogle(googleOptions => Configuration.Bind("OAuth2:Providers:Google", googleOptions))
.AddExternalCookie();
하지만 나는 이제 '매직' 은 다시 한 번 정도 이스카운트콘트레올리에스테르나요긴콜백 호출되었을 백됩니다 'null' 반환 값.
내가 이 코드 위에 선, 이는 근본적으로 잘못된 추가되든지 무슨일인거죠 후드 아래에 (쳐다보는 Microsoft& # 39 의 코드 진단트리로 깃허브). 흥미롭게도, 'h' 는 '와' a '는' 내 모든 유형의 쿡리오스렌티카션핸들러 청구 및 구글로부터 관련 정보를 δ1!
var authHandler = this.HttpContext.RequestServices.GetRequiredService<IAuthenticationHandlerProvider>();
var h = await authHandler.GetHandlerAsync(this.HttpContext, IdentityConstants.ExternalScheme);
var a = await h.AuthenticateAsync();
var externalLoginInfo = await this.SignInManager.GetExternalLoginInfoAsync();
깃허브 및 복사 붙여넣기 발굴을 통해 내부 코드 s 로 실행이 컨트롤러이면 it& # 39, 내가 내 것을 알 수 있다 '는' 이 ',' 내 청구용 찾지 못해 클로드 마티페스트남이덴티피어 프로비더케이 사용할 수 있다.
온데간데없군.
아이디 '코드' 내가 사용한 것을 이전 1.x 이스카운트콘트로예르 최신 2.x, 일부 남아 있는 이 물건을 찾지 샘플링합니다 비트 I did it 에 대한 모든 자르기 페이징에 사용하는 샘플링합니다, 고쳐주렴. # 39, ll 진행하십시오 i& 가지고 있는 것.
그래서 앞으로 추가 조사를 위해 다음, 구글 사용자 JSON 페이로드 항목에서와 매핑에서는 I& # 39 m 에 있다. 만약에 내 구글 계정 ID (숫자, 내 생각엔) 는 매핑되었습니다 그러면 모든 것이 협력할 것이라고 말했다.
보기 = aspnetcore-2.2 https://docs.microsoft.com/en-us/aspnet/core/security/authentication/social/additional-claims?
난 결국 통해 이 문제를 해결할 " 추가에는 하였노라너희가 action"; 내 구글 식별자입니다 가져오기할 빼냅니다 JSON 다녀온 구글!
serviceCollection.AddAuthentication(IdentityConstants.ExternalScheme)
.AddGoogle(googleOptions =>
{
Configuration.Bind("OAuth2:Providers:Google", googleOptions);
googleOptions.ClaimActions.MapJsonKey(ClaimTypes.NameIdentifier, "sub", "string");
})
.AddExternalCookie();
결국 이 필드에는 서브노드 '' 어떤 '' 다음 'up in the motor1.1end 남이덴티피어 하였노라너희가 꽂으십시오 프로비더케이 이스카운트콘트로예르' '' 할 수 있다.
Google plus 활성화됨 할 것인지 것은 사실이다. 이 프로젝트 big thing for me 는 uirl. 속성 창을 열고 (> 보기 -; 속성 창을) 에서 마우스 오른쪽 단추로 클릭합니다 VS 다음 프로젝트 및 속성을 선택합니다. 작은 창이 있는 웹 탭을 선택한 후 해당 URL 을 복제본에 큰 속성 창을 해당 url 을 붙여넣거나 프로젝트에서 uirl.
문제가 해결된 for me.
다른 모든 답을 didn& # 39 이 문제를 해결할 수 있는 경우, t 가져다줄래요 도왔으매 모두 한 배를 탄 후 smartupdate 등록이 컨트롤러거 작업이든지 는 레키레토프스 속성:
// GET: /Account/LoginRegister
[AllowAnonymous]
[RequireHttps]
public ActionResult LoginRegister()
{
return View(new RegisterLoginViewModel());
}