ورود با حساب LinkedIn در ASP.Net MVC
با سلام در این مقاله با یک مثال توضیح خواهیم داد ، چگونه ادغام و پیاده سازی تأیید هویت LinkedIn یعنی ورود با حساب LinkedIn در ASP.Net MVC Razor را انجام دهید .
تأیید اعتبار LinkedIn در ASP.Net MVC Razor به شما امکان می دهد تا با استفاده از API LinkedIn رایگان اطلاعات حساب کاربری و مشخصات پروفایل مانند شناسه ، نام ، تصویر پروفایل ، آدرس ایمیل و غیره را دریافت کنند .
دریافت کلید LinkedIn API و کلید مخفی در سایت LinkedIn
فضاهای نام
باید نامهای زیر را وارد کنید.
using System.Data;
using ASPSnippets.LinkedInAPI;
Model
در زیر کلاس Model است که برای جمع آوری جزئیات کاربر LinkedIn استفاده می شود.
public class LinkedInModel
{
public string Name { get; set; }
public string ImageUrl { get; set; }
public string EmailAddress { get; set; }
public string Headline { get; set; }
public string Industry { get; set; }
public string LinkedInId { get; set; }
public string Location { get; set; }
}
Controller
Controller از دو روش تشکیل شده است.
روش انجام عملیات GET
در داخل این روش ، API Client ID ، Client Secret و RedirectUrl برای API LinkedIn تنظیم شده است . سپس بررسی می شود که آیا کاربر برنامه LinkedIn را مجاز کرده است یا خیر ، اگر جزئیات مجاز باشد ، جزئیات حساب LinkedIn جمع آوری شده و به Viewباز می گردند.
روش انجام عملیات POST برای تأیید اعتبار با استفاده از حساب LinkedIn
با کلیک بر روی دکمه ورود ، این روش Action فراخوانی می شود. کاربر به وب سایت LinkedIn هدایت و از وی خواسته می شود اجازه دسترسی به جزئیات خود را دریافت کند.
public class HomeController : Controller
{
// GET: Home
public ActionResult Index()
{
LinkedInConnect.APIKey = "<LinkedIn API Key>";
LinkedInConnect.APISecret = "<LinkedIn API Secret>";
LinkedInConnect.RedirectUrl = string.Format("{0}://{1}/{2}", Request.Url.Scheme, Request.Url.Authority, "Home/Index/");
LinkedInModel model = new LinkedInModel();
if (LinkedInConnect.IsAuthorized)
{
DataSet ds = LinkedInConnect.Fetch();
model.Name = ds.Tables["person"].Rows[0]["first-name"].ToString();
model.Name += " " + ds.Tables["person"].Rows[0]["last-name"].ToString();
model.EmailAddress = ds.Tables["person"].Rows[0]["email-address"].ToString();
model.Headline = ds.Tables["person"].Rows[0]["headline"].ToString();
model.Industry = ds.Tables["person"].Rows[0]["industry"].ToString();
model.LinkedInId = ds.Tables["person"].Rows[0]["id"].ToString();
model.Location = ds.Tables["location"].Rows[0]["name"].ToString();
model.ImageUrl = ds.Tables["person"].Rows[0]["picture-url"].ToString();
}
return View(model);
}
[HttpPost]
public EmptyResult Login()
{
if (!LinkedInConnect.IsAuthorized)
{
LinkedInConnect.Authorize();
}
return new EmptyResult();
}
}
View
در داخل View، در اولین خط کلاس LinkedInModel به عنوان Model برای View اعلام می شود.
View شامل یک فرم HTML است که با استفاده از روش Html.BeginForm با پارامترهای زیر ایجاد شده است.
ActionName - نام عمل در این حالت Index است.
ControllerName - نام Controller در این حالت Home است.
FormMethod - این روش فرم یعنی GET یا POST را مشخص می کند. در این حالت روی POST تنظیم می شود.
View شامل یک دکمه ارسال HTML است که با کلیک داده ها را به روش ورود به سیستم انجام میدهد .
یک جدول HTML وجود دارد که برای نمایش جزئیات ورود به سیستم در LinkedIn کاربر استفاده می شود.
@model LinkedIn_Login_MVC.Models.LinkedInModel
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width"/>
<title>Index</title>
</head>
<body>
@using (Html.BeginForm("Login", "Home", FormMethod.Post))
{
<input type="submit" value="Login with LinkedIn"/>
}
@if (!string.IsNullOrEmpty(Model.LinkedInId))
{
<hr/>
<table border="0">
<tr>
<td colspan="2"><u>Logged in Twitter User's Profile</u></td>
</tr>
<tr>
<td style="width: 100px">Profile Image</td>
<td><img src="@Model.ImageUrl"/></td>
</tr>
<tr>
<td>Name</td>
<td>@Model.Name</td>
</tr>
<tr>
<td>LinkedIn Id</td>
<td>@Model.LinkedInId</td>
</tr>
<tr>
<td>Location</td>
<td>@Model.Location</td>
</tr>
<tr>
<td>EmailAddress</td>
<td>@Model.EmailAddress</td>
</tr>
<tr>
<td>Industry</td>
<td>@Model.Industry</td>
</tr>
<tr>
<td>Headline</td>
<td>@Model.Headline</td>
</tr>
</table>
}
</body>
</html>
عکسهای صفحه
صفحه مجوز برنامه LinkedIn

لینک موفقیت آمیز ورود
