У меня есть два текстовых поля для имени пользователя и пароля, теперь я хочу, чтобы пользователи вводили свой электронный адрес электронной почты и пароль (имя пользователя и пароль работает от Google, веб-сервер - это Google) и войдите в систему ASP.net. Создайте сеанс имени пользователя и пароля. Затем я хочу, чтобы пользователь мог отправлять электронную почту с сайта asp.net с использованием тех же учетных данных gmail. Спасибо заранее, и любая помощь будет оценена по достоинству.Учетные записи Gmail для аутентификации веб-сайта ASP.net
ответ
Ответ, который я хотел, это и этот код работает отлично. И я не хранил пароль нигде в сеансе и базе данных.
<form id="form1" runat="server">
<div id="loginform">
<div id="NotLoggedIn" runat="server">
Log in with <img src="http://www.google.com/favicon.ico" />
<asp:Button ID="btnLoginToGoogle" Runat="server" Text="Google" OnCommand="OpenLogin_Click"
CommandArgument="https://www.google.com/accounts/o8/id" />
<p /><asp:Label runat="server" ID="lblAlertMsg" />
</div>
</div>
</form>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DotNetOpenAuth.OpenId;
using DotNetOpenAuth.OpenId.RelyingParty;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
OpenIdAjaxRelyingParty rp = new OpenIdAjaxRelyingParty();
var r = rp.GetResponse();
if (r != null)
{
switch (r.Status)
{
case AuthenticationStatus.Authenticated:
NotLoggedIn.Visible = false;
Session["GoogleIdentifier"] = r.ClaimedIdentifier.ToString();
Response.Redirect("Default2.aspx");
break;
case AuthenticationStatus.Canceled:
lblAlertMsg.Text = "Cancelled.";
break;
}
}
}
protected void OpenLogin_Click(object sender, CommandEventArgs e)
{
string discoveryUri = e.CommandArgument.ToString();
OpenIdRelyingParty openid = new OpenIdRelyingParty();
var b = new UriBuilder(Request.Url) { Query = "" };
var req = openid.CreateRequest(discoveryUri, b.Uri, b.Uri);
req.RedirectToProvider();
}
}
, но я до сих пор дальнейших сомнений в том, как получить имя пользователя, с помощью которого пользователь регистрируется для создания сеанса ... ??? Это может быть сделано я видел его где-то ...
Имя пользователя (адрес электронной почты, скорее) будет возвращено вам после успешного входа в систему и перенаправления из Google. Пользователю будет предложено разрешить вашему приложению даже видеть адрес электронной почты (только один раз, после первого успешного входа в систему), и только после этого вы вернете пользователя и этот адрес электронной почты. Тем не менее, я не знаю, что это такое. –
@Hari я до сих пор не нашел решение получить идентификатор пользователя после успешного входа ... ??? Можно ли получить идентификатор электронной почты? – Gunner
Вы должны проверить библиотеку OpenId для C#.
http://code.google.com/p/dotnetopenid/
Это даст вам хороший старт. Таким образом, пользователю не придется напрямую использовать свой пароль и будет перенаправлен провайдеру, который предоставит вам аутентификацию для вашего сайта.
Nah, Google не позволит вам это сделать. Вам нужно будет сделать что-то похожее на то, что делает StackOverflow (предоставить функции OpenID для аутентификации по адресу google.com).
Некоторые вещи, такие как http://www.janrain.com/, могут сделать это для меня. только он сможет отправлять электронную почту с того же приложения asp.net – Gunner
Я так не думаю - я просто смотрел демо-видео там, и страница входа в Google отображается во всплывающем окне. Таким образом, хотя вы можете, конечно, набирать текстовые поля uid/pwd на своей странице, заявляя, что они будут входить в Google, только дурак на самом деле вводит их там без проверки URL-адреса в первую очередь. Поэтому, даже если вам удастся снять это, я сомневаюсь, что у вас будет много пользователей. –
Ответ, который я хотел, это – Gunner
- 1. Учетные записи Gmail и службы
- 2. Различные учетные записи gmail для разных сайтов
- 3. Найти учетные записи Gmail, настроенные на iPhone
- 4. Сообщение не отправлено в учетные записи gmail
- 5. API Gmail: учетные данные для API Gmail
- 6. Учетные записи пользователей без идентификатора ASP.net
- 7. Gmail аутентификации Исключение
- 8. Учетные записи Google OAuth2?
- 9. Клиентские учетные записи переключения
- 10. Являются ли учетные записи членства ASP.Net переносимыми?
- 11. Учетные данные аутентификации LDAP
- 12. Программно создавать учетные записи gmail с помощью php
- 13. Учетные записи Django, расширяющие учетные записи
- 14. Sendmail не удалось отправить в учетные записи Gmail
- 15. PhpMailer отправляет в gmail, но не на учетные записи hotmail.
- 16. Членство в Asp.net - Учетные записи заблокированы
- 17. Как удалить учетные записи пользователей в asp.net?
- 18. Gmail API + Учетные записи службы возвращают ошибку 403
- 19. Как проверить все ваши учетные записи электронной почты в Gmail?
- 20. Неверные учетные данные с XOAuth2 для Gmail
- 21. 3 вебсайта 1 Проект
- 22. Отключить персональные учетные записи для активной учетной записи MVC в
- 23. Twitter ошибка аутентификации «учетные данные аутентификации отсутствуют»
- 24. Учетные записи учетной записи PayPal для разработчика
- 25. Ошибка аутентификации Gmail smtp
- 26. 1 домен 2 вебсайта
- 27. Учетные данные для аутентификации Twitter4j отсутствуют
- 28. Сохранить учетные данные для учетной записи sharepoint?
- 29. PHPMailer SMTP Gmail ошибка аутентификации
- 30. учетные данные аутентификации отсутствуют twitter4j
возможно duplicate: http://stackoverflow.com/questions/5435322/authentication-with-google-or-facebook –
Вы описали, что должен делать ваш код, но вы не задавали вопрос. Что вы пробовали и какие проблемы вы столкнулись? –
Пожалуйста, не запрашивайте имя пользователя и пароль своей учетной записи google. Любой программист, который делает это, не должен находиться рядом с компьютером. –