Getting User.Identity.Name after AspNet OpenAuth Login via Web Forms Template
See the question and my original answer on StackOverflowUser.Identity.Name will only be filled by the Forms Auth authentication provider on return (after the client has been redirected, as you point out).
But during the auth process, in the OpenAuth code before the redirect, the user name is simply represented by AuthenticationResult.UserName (ie: authResult.UserName in ExternalLoginLandingPage.aspx.cs).