рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ
рдЬрд╛рдирддреЗ рд╣реИрдВ ред рд╕реЗрд╡рд╛ рдЕрднреА рднреА рдХрд╛рдлреА рдпреБрд╡рд╛ рд╣реИ, рдФрд░ рдХрдИ рдЪреАрдЬреЗрдВ рдЬреЛ рдореИрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд╡реЗ рдЕрднреА рддрдХ рдЗрд╕рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реИрдВред
рдХрд▓ рд╣реА, рдореБрдЭреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреА рд╕рдлрд▓рддрд╛ рдпрд╛ рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рд░рд▓ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред рдореИрдВрдиреЗ рдЗрд╕ рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╣реЗрд▓реНрдкрд░ рд╕реНрдХреЗрдЪ рдХрд┐рдпрд╛, рдЖрдк рдЗрд╕реЗ
рдпрд╣рд╛рдБ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ
рд╣реИрдВ ред
рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдВ?
рдпрд╣рд╛рдБ рдореИрдВрдиреЗ рдХреЛрдб рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛, рдЬрд┐рд╕рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ:
public class AccountController : Controller
{
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult SignIn( string token)
{
try
{
if (token == null ) throw new ArgumentNullException( "token" );
var loginza = new Loginza.Api.LoginzaHelper( Convert .ToInt32( ConfigurationManager .AppSettings[ @"WidgetId" ]), ConfigurationManager .AppSettings[ @"SecureKey" ]) { IsSecureCheck = true };
var authInfo = loginza.AuthInfo(token);
if (authInfo.error_type != null )
throw new AuthException(authInfo.error_message ?? "Unknown error" );
else
{
FormsAuthentication.SetAuthCookie(authInfo.name.full_name, false );
}
return RedirectToAction( "Index" , "Home" , null );
}
catch
{
return View( "Error" );
}
}
}
* This source code was highlighted with Source Code Highlighter .public class AccountController : Controller
{
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult SignIn( string token)
{
try
{
if (token == null ) throw new ArgumentNullException( "token" );
var loginza = new Loginza.Api.LoginzaHelper( Convert .ToInt32( ConfigurationManager .AppSettings[ @"WidgetId" ]), ConfigurationManager .AppSettings[ @"SecureKey" ]) { IsSecureCheck = true };
var authInfo = loginza.AuthInfo(token);
if (authInfo.error_type != null )
throw new AuthException(authInfo.error_message ?? "Unknown error" );
else
{
FormsAuthentication.SetAuthCookie(authInfo.name.full_name, false );
}
return RedirectToAction( "Index" , "Home" , null );
}
catch
{
return View( "Error" );
}
}
}
* This source code was highlighted with Source Code Highlighter .
рдХреНрд▓рд╛рд╕ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ 2 рдкреИрд░рд╛рдореАрдЯрд░ рд▓реЗрддрд╛ рд╣реИ: рд╡рд┐рдЬреЗрдЯ рдЖрдИрдбреА рдФрд░ рдирд┐рдЬреА рдХреБрдВрдЬреАред
IsSecureCheck рдЧреБрдг рд╕реБрд░рдХреНрд╖рд┐рдд рдЯреЛрдХрди рд╕рддреНрдпрд╛рдкрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╡рд░реНрдЧ рдореЗрдВ
рд╕рд░реНрд╡рд┐рд╕рдпреВрд░реА рдкреНрд░реЙрдкрд░реНрдЯреА рд╣реИ, рдЬрд┐рд╕реЗ рд╡реЗрд░рд┐рдлрд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд┐рд╕ рдХрд╛ рдкрддрд╛ рдмрджрд▓ рдЬрд╛рдиреЗ рдкрд░ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
AuthInfo рдкрджреНрдзрддрд┐ рдПрдХ рдЧрддрд┐рд╢реАрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рд▓реМрдЯрд╛рддреА рд╣реИ (рдЗрд╕рд▓рд┐рдП, рд╡рд░реНрдЧ рдХреЗрд╡рд▓ .NET 4 рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ), рдЬрд┐рд╕рдХреЗ рдлрд╝реАрд▓реНрдбреНрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╕реЗрд╡рд╛ рджреНрд╡рд╛рд░рд╛ рд▓реМрдЯрд╛рдП рдЧрдП Json рдбреЗрдЯрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрд╣ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдПрдХ рдЫреЛрдЯреА рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИ - рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП Json рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдлрд╝реАрд▓реНрдбреНрд╕ рдХреА рд╕рдВрд░рдЪрдирд╛ рдмрджрд▓ рд╕рдХрддреА рд╣реИ (Google рдкреНрд░рджрд╛рддрд╛ рдХреЗ рд▓рд┐рдП рдлрд╝реАрд▓реНрдб рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ), рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдбрд╛рдпрдиреЗрдорд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдлрд╝реАрд▓реНрдбреНрд╕ рдХрд╛ рд╕реЗрдЯ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХрд┐рд╕ рдкреНрд░рджрд╛рддрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред
рдореБрдЭреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ рд╕реБрдзрд╛рд░реЛрдВ рдкрд░ рдЦреБрд╢реА рд╣реЛрдЧреАред