OWIN OpenID provider - GetExternalLoginInfo() returns null

Solution 1:

The problem occurs when ASP.NET_SessionId cookie is missing.

Setting a dummy value in session before redirecting to the OpenID provider for credentials seems to solve the problem:

[AllowAnonymous]
public ActionResult Login(string returnUrl)
{
    Session["dummy"] = "dummy"; // Create ASP.NET_SessionId cookie

    return View();
}

More details in this answer: https://stackoverflow.com/a/21234614/205023

Solution 2:

The accepted answer did not solve the problem for me; what did work was to enable the "Google+ API" in the API Manager from the Google Developers Console.