# 39 의 게테스테르나요기닌포라인스 nulll 되돌려줍니다 owin& 항상

39, ve i& MVC5 때 내가 만든 웹 애플리케이션 및 구글, 페이스북 등을 통해 새로운 '에서' 작업 '을 로그인하십시오 에스테르나요긴콜백 이스카운트콘트로예르 있지만' () '항상' 호출됨 게테스테르나요기닌포라인스 되돌려줍니다 nulll:

var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
if (loginInfo == null)
{
    return RedirectToAction("Login");
}

39 의 리디렉션합니다 it& 때문에 항상 널 그냥 다시 로그인 페이지로 및 프로세스를 통해 시작합니다. 이 문제를 해결 할 수 있겠어요?

질문에 대한 의견 (7)

비주얼 스튜디오 2013년, 아스피네 afaq 로빈 구글 사이트, 내가 제대로 로그인하십시오 표준 MVC5 했다.

  1. 구글 계정 dell. (https://console.developers.google.com/project) 를 설치

  2. 콜백 URL 설정 / 구글 로그인했습니다 '거기' 기타 등등. &lt br/>; T , # 39 don& 해야 할 일에 대한 중요한 참고 있습니다.

  • 39, HTTPS 를 사용하여 뒤로를 리디렉션하지 구글이 너회가 don& 필요한 건 아니다. 일반 http://localhost, 괜찮서라 뒤로를 리디렉션할 수 있습니다.

  • 너회가 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& 이렇게 쉽게 할 수 있는 '/' 에는 '계정 / 에스테르나요긴콜백 크리스티나랑 요청을 &amp, 오류 때문에', 그리고 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.

  1. 또한 구글 개발자 및 클라이랑체릿 제공했음 클리렌티드 추가 코드를 사용할 수 있지만, 이 과정에서 콘솔입니다 스타르투피오스 향상시키십시오 명시적으로 OAuth2, 그리고 명시적으로 요청할 user& # 39, 전자 메일 주소:

var 구글 = new GoogleOAuth2AuthenticationOptions () { 123abc.apps.googleusercontent.com = &quot 클리렌티드 "; 클라이랑체릿 = &quot 456xyz"; 공급자입니다 = new GoogleOAuth2AuthenticationProvider () }; 구글. 스쿠페트라드 (email&quot ";). app. 자크루글로텐티카션 (구글).

39 의 that& 거잖나. 마지막으로 실력 있는 작업 중.

그냥 다시 한 번 더 많아 이 문제에 대한 답을, 여기서 로빈 isn& 하고, t / 구글 및 정보기술 (it) 등 거의 모든 # 39 명은 현재 vs2013/mvc5/owin 템플리트를 잘못이다. &lt br/>; # 39, t need to 웹스콘피그 수정 전혀 don& 있습니다. &lt br/>; # 39, 어떤 특별한 라우팅합니다 너회가 don& 만들 필요가 없다. &lt br/>; 시도하지 합니다 '/' 다른 위치로 구글 로그인했습니다 사용하거나 다른 점, 진실이며당신이 말해둘꼐요 shouldn& 시도, 콜백 url # 39 를 바로 't', '또는' 에스테르나요긴콘퍼마션 에스테르나요긴콜백 타이법으로요 계정 / / / 구글 로그인했습니다 '와' 에 필요한 절차를 별도로 있기 때문에 이들은 모두 owin/google 과정이다.

해설 (12)

OK, I found out 왜 it& # 39 의 nulll. 구글은 구글 API 를 활성화해야 합니다 + 콘솔이군요. 또한 smartupdate 연결된 비밀 키를 가진 끝에 붙이십시오 후에는 데이터베이스에구성원을 코드 공간이 아니다. 그들은 왜 can& 복귀하십시오 t # 39, 일반 오류? # 39, 내가 don& 수 있을지 알 수 없다.

해설 (5)

더 이상 페이스북 로그인 수행됨 누제 패키지 버전 3.0.1 마이크로소프트리오윈.세커티스파시오부크 것으로 보인다.

다음 버전 출시 전 3.1.0 업데이트이 패키지의 사용할 수 있습니다.

&gt. 패키지 설치 마이크로소프트리오윈.세커티스파시오부크 - 사전

해설 (8)

제대로 말한 것처럼, 다른 대부분의 시간을 that& # 39 에 대한 권한이 없기 때문에 여기서는 구글+ apiu 구글 API 에 대한 권한을 구글+ apiu 프로젝트 관리자를 볼 수 있는 방법을

해당 프로젝트에 대한 목록을 볼 수 있습니다 대시보드인 돌아가면 활성화됨 API& # 39 의 해당 프로젝트의 맨 아래에 ! [입력하십시오. 이미지 여기에 설명을] [4]

해설 (0)

I got it 업데이트하던 것만으로 모든 작업을 할 수 있는 패키지를 너겟 애플리케이션 및 통했다.

해설 (1)

하지만 이후 오랜 투쟁을 그러니까말이야 it& # 39 의 어리석은 가져다줄래요 재시작하기 IIS 문제를 해결했습니다.

해설 (2)

내 이 문제를 해결했다.

구글+ 활성화하십시오 제공한다. 이는 잡았다, 이는 문제의 근본 원인을 여기에 질문 - don& # 39 의 경우, s, t, 이렇게 할 수 있는 # 39 it& 크리스티나랑 '/' 에는 '= access_denied 요청을 계정 / 에스테르나요긴콜백 &amp, 오류 때문에', 그리고 that& # 39 의 로빈 user& # 39 에 대한 권한 요청을 할 수 없다 "고 말했다" 며 "구글은 구글+ 기본 프로파일입니다. 나는 이것이 Google& # 39, s, t tell 그 can& # 39 장애 또는 Microsoft& # 39 의.

  • 구글+ 개발자 api 를 사용할 수 있도록 API 를 클릭합니다 사냥에 구글+, 콘솔, 왼쪽의 Enable.* 및 히트
해설 (0)

내가 이 문제를 인되며 실행했음 것으로 드러나, 오늘 내가 정의한 뒤 나도 remote 쿠키 할당되어 있다.

배치하십시오 합니다.

app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);

합니다.

app.UseFacebookAuthentication(
                   appId: "",
                   appSecret: "");
해설 (0)

이 문제를 겪고 있는 사람들을 위한 웹 Api. 아님 다른 솔루션을 도움말에서는 (), '항상' 오텐티카션메니지스터게테스테르나요기닌포라인스 되돌려줍니다 nulll 심지어 google plus apiu 활성화되었습니다.

이 사용자 정의 함수 afaq 로지닌포. 마이크로소프트 (ms) 가 웹 api 를 통해 신청할 때는 확실히 버그 게테스테르나요기닌포라인스.

private async Task 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;
        }
해설 (1)

제가 한 다음 그것을 얻기 위해 작업 중.

포털, 응용 프로그램 개발자 및 로그온하지 찾을 방법은 다음과 같습니다.

App 세부내용에서 &gt. 앱 가운데 맞춤입니다 나열되는지 플랫폼뿐만 &gt. 웹 사이트 # 선택할 수 있습니다.

해설 (0)

물론 여기에 대답을 다음과 같은 수많은 레드 허링 대한 검색 및 헤드입니다 긁는 훨씬 후에 내가 겪은 이야기를 내 모든 옵션을 이용하여 구글 개발 콘솔 및 스택 오버플로 결국 on my little blue [설정] 버튼을 Google+API 媛쒖슂 호출이네요 난 것처럼 이 및 안녕하슈 프레스토 통했다. 모든 것을 기본 구성, 콜백 url 및 라우팅할 로빈 실없는 소리 너회가 검토완료 재정의됩니다 구글 로그인했습니다 리디렉션할 uri 에 어떤 경우에도 돌아갑니다 / 구글 및 sends 에스테르나요긴콜백. 그냥 이렇게 오래 사용하면 될 때 모든 치중한다는 기본값입니다 구축현 优秀 Google+API.

해설 (0)

비록 좋은 답을 모두 이러한 협력했습니다 - # 39 위, 내 인스턴스입니다 되니그들 I& 연산뿐 점검됩니다 공감할 수 있는 구글 설정값과 크리스씨가 모스키니 there& 확인하고, d, s # 39 많은 잘못된 정보.

It was a & # 39 도프 때도, 나는 내 가져다줄래요 아웃해야 ! 스테이드 service) 이 프로세스를 시작하지 않은 것을 알게 아니 오류 (비호환성의 로그인시키는 는 가장 먼저 한 일은 내가 할 수 있는 서비스 시작 이후 재부트 스테이드 설정되었습니다 수작업식 시스템에서) '에서' 게테스테르나요기닌포라인스 그냥 널 (null)

따라서 다른 사람이 희망을 초과됩니다.

해설 (0)

내가 원하는 건 이 번호요 기여할 수 있다. 그냥 최근 맡을게 작업 중. 내가 다시 nulll 게테스테르나요기닌포라인스 경식도 문제가 아니라 운영 중.

그것은 단순히 많은 문제가 발견된 후 제 대답은 검색: 난 결국 내 데이터베이스. 그래서 난 이미 생산에 설정되었습니다 접속하십시오 그 당시 제대로 했는지에 대해 기본적으로 잘못된 연결 문자열을 않을 것이라고 밝혔다. 당시 유일한 심아이엔큐 들어온넘 게테스터 알로지닌포라인스 반환되었습니다 nulll. 따라서 이 경우 데이터베이스 연결 문자열을 확인하고 있습니다!

또한 참고 있는 유일한 심아이엔큐 afaq afnor apc® 필요한 것은 없었다.

  • Set up a project) 는 구글 콘솔입니다
  • 활성화하십시오 apiu 구글+
  • 복제본에 고객 id 와 암호를 클라이언트입니다 이 Startup.Auth.cs 파일.

Https 를 만들 수 없는 경우 맞춤형 라우팅합니다 활성화하십시오 필요가 없습니다. 그러나 데이터베이스 제대로 작동하고 있는지 확인하십시오.

해설 (0)

그러나 그는 .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 ''.

&gt. 아니 오텐티카션셰메 지정되어 있으며, 데포치냉셰메 찾을 수 없었다.

여기서, 제가 해결하십시오 추가하기만 기본 구성표가 오류 명이다.

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();
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?

    • 최종 수리입니다.

난 결국 통해 이 문제를 해결할 &quot 추가에는 하였노라너희가 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 남이덴티피어 하였노라너희가 꽂으십시오 프로비더케이 이스카운트콘트로예르' '' 할 수 있다.

해설 (0)

Google plus 활성화됨 할 것인지 것은 사실이다. 이 프로젝트 big thing for me 는 uirl. 속성 창을 열고 (&gt 보기 -; 속성 창을) 에서 마우스 오른쪽 단추로 클릭합니다 VS 다음 프로젝트 및 속성을 선택합니다. 작은 창이 있는 웹 탭을 선택한 후 해당 URL 을 복제본에 큰 속성 창을 해당 url 을 붙여넣거나 프로젝트에서 uirl.

문제가 해결된 for me.

더 자세히 볼. https://docs.microsoft.com/en-us/aspnet/mvc/overview/security/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-and-openid-sign-on

해설 (0)

다른 모든 답을 didn& # 39 이 문제를 해결할 수 있는 경우, t 가져다줄래요 도왔으매 모두 한 배를 탄 후 smartupdate 등록이 컨트롤러거 작업이든지 는 레키레토프스 속성:

    // GET: /Account/LoginRegister
    [AllowAnonymous]
    [RequireHttps]
    public ActionResult LoginRegister()
    {
        return View(new RegisterLoginViewModel());
    }
해설 (0)