本文整理汇总了C#中System.Net.Connection.SendGatewayServerMessage方法的典型用法代码示例。如果您正苦于以下问题:C# Connection.SendGatewayServerMessage方法的具体用法?C# Connection.SendGatewayServerMessage怎么用?C# Connection.SendGatewayServerMessage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Net.Connection
的用法示例。
在下文中一共展示了Connection.SendGatewayServerMessage方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Authenticate
public AuthenticateResult Authenticate(Server server, Connection connection, UserInfo userInfo)
{
// ニックネームとパスワードのチェック
if (String.IsNullOrEmpty(userInfo.Nick))
{
return new AuthenticateResult(ErrorReply.ERR_NONICKNAMEGIVEN, "No nickname given");
}
if (String.IsNullOrEmpty(userInfo.Password))
{
return new AuthenticateResult(ErrorReply.ERR_PASSWDMISMATCH, "Password Incorrect");
}
// ログインチェック
// この段階でTwitterServiceは作っておく
connection.SendGatewayServerMessage("* アカウント認証を確認しています...");
TwitterService twitter = new TwitterService(userInfo.UserName, userInfo.Password);
User twitterUser = null;
try
{
twitterUser = twitter.VerifyCredential();
}
catch (WebException we)
{
// Twitter の接続に失敗
connection.SendGatewayServerMessage("* アカウント認証に失敗しました。ユーザ名またはパスワードを確認してください。");
return new AuthenticateResult(ErrorReply.ERR_PASSWDMISMATCH, "Password Incorrect");
}
catch (Exception ex)
{
// Twitter の接続に失敗
connection.SendGatewayServerMessage("* アカウント認証に失敗しました。ユーザ名またはパスワードを確認してください。内部的なエラーが発生しました。");
Trace.TraceError(ex.ToString());
return new AuthenticateResult(ErrorReply.ERR_PASSWDMISMATCH, "Password Incorrect");
}
connection.SendGatewayServerMessage(String.Format("* アカウント: {0} (ID:{1})", twitterUser.ScreenName, twitterUser.Id));
return new TwitterAuthenticateResult(twitterUser); // 成功
}
示例2: Authenticate
public AuthenticateResult Authenticate(Server server, Connection connection, UserInfo userInfo)
{
// ニックネームとパスワードのチェック
if (String.IsNullOrEmpty(userInfo.Nick))
{
return new AuthenticateResult(ErrorReply.ERR_NONICKNAMEGIVEN, "No nickname given");
}
// OAuth ログイン/設定
if (String.IsNullOrEmpty(userInfo.Password))
{
connection.SendGatewayServerMessage("* OAuth 認証の設定を開始します...");
return new OAuthContinueAuthenticationResult();
}
else
{
var config = Config.LoadConfig(userInfo.UserName); // HOSTING => 番号的 ID になる
// xAuth fallback
if (true && String.IsNullOrEmpty(config.OAuthUserPasswordHash))
{
return new XAuthAuthentication().Authenticate(server, connection, userInfo);
}
connection.SendGatewayServerMessage("* アカウント認証を確認しています(OAuth)...");
// OAuth 設定未設定
if (String.IsNullOrEmpty(config.OAuthAccessToken) || String.IsNullOrEmpty(config.OAuthTokenSecret))
{
connection.SendGatewayServerMessage("* OAuth 認証の設定を開始します...");
return new OAuthContinueAuthenticationResult();
}
// 設定してあるパスワードとの照合
if (Utility.GetMesssageDigest(userInfo.Password) != config.OAuthUserPasswordHash)
{
connection.SendGatewayServerMessage("* アカウント認証に失敗しました。ユーザ名またはパスワードを確認してください。");
return new AuthenticateResult(ErrorReply.ERR_PASSWDMISMATCH, "Password Incorrect");
}
// ユーザー認証問い合わせをしてみる
try
{
TwitterOAuth twitterOAuth = new TwitterOAuth(server.OAuthClientKey, server.OAuthSecretKey)
{
Token = config.OAuthAccessToken,
TokenSecret = config.OAuthTokenSecret
};
TwitterIdentity identity = new TwitterIdentity
{
Token = config.OAuthAccessToken,
TokenSecret = config.OAuthTokenSecret
};
TwitterService twitterService = new TwitterService(server.OAuthClientKey, server.OAuthSecretKey, identity);
User twitterUser = twitterService.VerifyCredential();
identity.ScreenName = twitterUser.ScreenName;
identity.UserId = twitterUser.Id;
connection.SendGatewayServerMessage(String.Format("* アカウント: {0} (ID:{1})", twitterUser.ScreenName, twitterUser.Id));
return new TwitterAuthenticateResult(twitterUser, identity);
}
catch (Exception ex)
{
connection.SendServerErrorMessage(TwitterOAuth.GetMessageFromException(ex));
return new AuthenticateResult(ErrorReply.ERR_PASSWDMISMATCH, "Password Incorrect");
}
}
}