ユーザー名とパスワードの2つのテキストボックスがあります。ユーザーは自分の会社のメールIDとパスワードを入力します(ユーザー名とパスワードはgoogle、webserverはgoogleです)。 ASP.netのウェブサイト。ユーザー名とパスワードのセッションを作成してください。私は同じGmailの資格情報を使用してasp.net Webサイトから電子メールを送信できるようにしておきたいと思います。ASP.netのウェブサイトの認証のためのGmail資格情報
答えて
私はこのコードがうまく動作し、私はセッションとデータベースのどこにでもパスワードを保存していません。
<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からリダイレクトされた後に返されます。ユーザーには、google.comであなたのアプリにメールアドレス(最初のログインが成功した後に1回のみ)が表示されるように頼まれます。その後、そのユーザーとそのメールアドレスが返されます。しかし、私はそれの専門性を知らない。 –
@ハリー私はまだ成功したログインの後にユーザーの電子メールIDを取得するための解決策を見つけられませんでした... ???電子メールIDを取得することは可能ですか? – Gunner
C#のOpenIdライブラリをチェックしてください。
http://code.google.com/p/dotnetopenid/
これはあなたの良いスタートを与えます。この方法では、ユーザーは自分のパスワードを直接使用する必要はなく、サイトの認証を与えるプロバイダにリダイレクトされます。
ナー、Googleはあなたにそれをさせません。あなたはStackOverflowがやっていることに似た何かをしなければならないでしょう(を google.comで認証するOpenID機能を提供する)。
http://www.janrain.com/のようなものは私のためにそれをすることができます。彼は同じasp.netアプリケーションから電子メールを送ることができます – Gunner
私はそうは思わない - 私はそこでデモビデオを見て、Googleのログインページはポップアップで表示されます。だから、あなたは確かにあなたのページにテキストボックスをuid/pwd彼らがグーグルでログインすると主張することができますが、愚か者だけが実際にURLをチェックw/oそこに入力されます。だから、たとえそれを取り除くことができたとしても、私はあなたが多くのユーザーを持つだろうとは思わない。 –
私が欲しかった答えは – Gunner
- 1. pymongo認証ユーザーの資格情報
- 2. github資格情報を認証するためのシェルスクリプト
- 3. Gmail api - 資格情報の保存
- 4. ASP.Netユーザー認証IE - キャッシュされた資格情報
- 5. AWSDatabaseMigrationServiceエラー:認証資格情報なし
- 6. SVNリポジトリ認証 - 資格情報は
- 7. ASP.NETがWindows認証資格情報を渡す
- 8. ASP.NET MVC - 追加の資格情報を渡すためのモーダルウィンドウ
- 9. PHPの認証表示テキスト間違った資格情報
- 10. ユーザーの資格情報とロールを使用したアクティブディレクトリ認証
- 11. 検証のためにユーザー資格情報を傍受する
- 12. ASP.NETからSQL Serverの資格情報
- 13. Jenkins Packer AWS資格情報の検証
- 14. Android MVP:ログイン資格情報の検証
- 15. 検証IAMユーザーの資格情報
- 16. JSch PAM認証 - "認証失敗" - 資格情報が正しい
- 17. のSOAPHeaderクラスの認証資格情報を渡す
- 18. Cognitoのユーザープールの資格情報でユーザーを認証します。
- 19. 資格情報管理API(資格情報の削除)
- 20. ChallengeHandler.submitChallengeAnswer(資格情報)とWLAuthorizationManager.login(資格情報、SECURITY_CHECK_NAME)の相違点
- 21. Javascriptのスプリング基本認証資格情報
- 22. Google Appsユーザーアカウントの資格情報を認証する
- 23. Amazon AWS。ルート資格情報からIAM認証への移行
- 24. AFNetworkingで基本認証の資格情報をリセットする
- 25. WWW :: Mechanizeの基本認証資格情報を設定する
- 26. Sharepoint 2010クライアントオブジェクトモデル - Windows認証 - ログオンユーザーの資格情報
- 27. 資格情報
- 28. 資格情報
- 29. サンドボックスのエラー資格情報?
- 30. 資格情報の配列
多分...私はどこかでそれを見ている行うことができます重複:http://stackoverflow.com/questions/5435322/authentication-with-google-or-facebook –
あなたのコードは何をすべきかを説明しましたが、あなたは質問しませんでした。あなたは何を試しましたか、どんなトラブルに遭遇しましたか? –
実際にGoogleアカウントのユーザー名とパスワードを要求しないでください。これを行うプログラマは、コンピュータの近くでは許可しないでください。 –