OpenIdButton не может получить адрес электронной почты после обновления DotNetOpenAuth
Я работал над DotNetOpenAuth, чтобы использовать приложение Google для аутентификации и просил вернуть адрес электронной почты.
У меня есть рабочая программа, когда я использовал предыдущую версию DotNetOpenAuth.dll. Но когда я обновляю Dll с текущей версией, то мой код не работает. Приложение может подтвердить подлинность, но не отвечает с адресом электронной почты.
Мой код:
<rp:OpenIdButton runat="server" ImageUrl="~/images/google.jpg" Text="Login with Google" ID="OpenIdButton1"
Identifier="https://www.google.com/accounts/o8/id" LogOnMode="None" OnLoggingIn="test" OnLoggedIn="OpenIdLogin1_LoggedIn">
<Extensions>
<sreg:ClaimsRequest Email="Require" />
</Extensions>
protected void OpenIdLogin1_LoggedIn(object sender, OpenIdEventArgs e)
{
// Hide login button.
OpenIdButton1.Visible = false;
// Get email.
//ClaimsResponse profile = e.Response.GetExtension<ClaimsResponse>();
ClaimsResponse profile = e.Response.GetUntrustedExtension<ClaimsResponse>();
string email = profile.Email;
And the code breaks at the above line.
Что-то изменилось с новым Dll?
1 ответ
Ваш код опирается на использование поведения AXFetchAsSregTransform. Пожалуйста, просмотрите ссылку и убедитесь, что ваш файл web.config обновлен в <configSections>
область, чтобы соответствовать новому XML, требуемому последней DotNetOpenAuth. В вашем web.config, скорее всего, уже объявлен AXFetchAsSregTransform, но он игнорируется до тех пор, пока вы не обновите свои configSections.
Кстати, вы должны not
обычно используют GetUntrustedExtension
,