В этой статье я объясню, как войти в систему с помощью учетной записи Twitter в веб-приложении Asp.net MVC.

В моей предыдущей статье я объяснил следующие методы аутентификации в MVC.

Как войти с помощью API учетной записи Google в Asp.net MVC — 5

Как войти через Facebook в Asp.net MVC

Здесь я буду использовать Visual Studio 2013 и MVC 5 в своем веб-приложении Asp.net.

Включите аутентификацию или войдите в свою учетную запись Twitter, вам нужно будет зарегистрировать приложение в Управлении приложениями Twitter. После регистрации приложения вы можете использовать ключ потребителя (ключ API) и секрет клиента (секрет API), предоставленные Twitter.

Хорошо, давайте начнем аутентификацию Asp.net MVC Twitter

Выполните следующие действия, чтобы реализовать «Вход в Twitter для вашего приложения Asp.net MVC».

Шаг 1: Создайте ключ API и секрет API

На первом этапе создайте новое приложение в Управлении приложениями Twitter для использования службы аутентификации Twitter. Убедитесь, что вы должны войти в свою учетную запись.

Сначала нажмите «Создать новое приложение».

В диалоговом окне «Новое приложение» напишите название проекта, описание и веб-сайт.

Нажмите кнопку «Создать приложение Twitter», чтобы создать приложение.

На следующем шаге мы находим ключ API и секрет API.

Теперь мы переходим к нашему проекту веб-приложения.

Шаг 2. Создайте новый проект.

Перейдите в меню «Файл» > «Создать» > «Проект» > «Веб» > «Веб-проект Asp.net MVC» > «Введите имя приложения» > «Выберите местоположение проекта» > нажмите кнопку «Добавить» > Появится новое диалоговое окно для выбора шаблона > здесь мы выберем пустой проект > затем нажмите взял

Шаг 3. Создайте контроллер.

Перейдите в Обозреватель решений › Щелкните правой кнопкой мыши папку «Контроллеры» в форме Обозреватель решений › Добавить › Контроллер › Введите имя контроллера › Выберите Шаблон «пустой контроллер MVC» › Добавить.

Здесь я создал контроллер «HomeController».

Теперь мы добавим представление для действия Index (которое уже добавлено в домашний контроллер), где мы реализуем аутентификацию учетной записи Twitter.

Шаг 4. Добавьте представление для действия Index.

Щелкните правой кнопкой мыши метод действия (здесь щелкните правой кнопкой мыши действие «Индекс») › Добавить представление › Введите имя представления › Выберите «Пустой» в раскрывающемся списке «Шаблон» › Проверьте использование страницы макета › Добавить.

Шаг 5. Установите библиотеку TweetSharp.

Перейдите в «Консоль диспетчера пакетов», введите «Install-Package TweetSharp-Unofficial» и нажмите Enter.

Шаг 6. Добавьте метод аутентификации Twitter в HomeController

Добавьте метод GET «TwitterAuth» в HomeController.

[HttpGet] public ActionResult TwitterAuth() { string Key = "Twitter API Key"; string Secret = "Twitter API Secret"; TwitterService service = new TwitterService(Key, Secret); OAuthRequestToken requestToken = service.GetRequestToken("http://localhost:33916/Home/TwitterCallback"); Uri uri = service.GetAuthenticationUrl(requestToken); return Redirect(uri.ToString()); }

Шаг 7. Добавьте метод для получения данных профиля пользователя в Home Controller

Теперь мы создаем метод в HomeController для получения данных пользователя.

public ActionResult TwitterCallback(string oauth_token, string oauth_verifier) { var requestToken = new OAuthRequestToken { Token = oauth_token }; string Key = "Twitter API Key"; string Secret = "Twitter API Secret"; try { TwitterService service = new TwitterService(Key, Secret); OAuthAccessToken accessToken = service.GetAccessToken(requestToken, oauth_verifier); service.AuthenticateWith(accessToken.Token, accessToken.TokenSecret); VerifyCredentialsOptions option = new VerifyCredentialsOptions(); TwitterUser user = service.VerifyCredentials(option); TempData["Name"] = user.Name; TempData["Userpic"] = user.ProfileImageUrl; return View(); } catch { throw; } }

Теперь весь файл HomeController будет выглядеть следующим образом:

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using TweetSharp; namespace Twitter_Login.Controllers { public class HomeController : Controller { [HttpGet] public ActionResult TwitterAuth() { string Key = "Twitter API Key"; string Secret = "Twitter API Secret"; TwitterService service = new TwitterService(Key, Secret); OAuthRequestToken requestToken = service.GetRequestToken("http://localhost:33916/Home/TwitterCallback"); Uri uri = service.GetAuthenticationUrl(requestToken); return Redirect(uri.ToString()); } public ActionResult TwitterCallback(string oauth_token, string oauth_verifier) { var requestToken = new OAuthRequestToken { Token = oauth_token }; string Key = "Twitter API Key"; string Secret = "Twitter API Secret"; try { TwitterService service = new TwitterService(Key, Secret); OAuthAccessToken accessToken = service.GetAccessToken(requestToken, oauth_verifier); service.AuthenticateWith(accessToken.Token, accessToken.TokenSecret); VerifyCredentialsOptions option = new VerifyCredentialsOptions(); TwitterUser user = service.VerifyCredentials(option); TempData["Name"] = user.Name; TempData["Userpic"] = user.ProfileImageUrl; return View(); } catch { throw; } } public ActionResult Index() { return View(); } } }

Шаг 8. Создайте метод View for TwitterCallback

Теперь нам нужно добавить View для метода «TwitterCallback» и добавить соответствующий html.

@{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>TwitterCallback</title> </head> <body> <div> <h1>Welcome @TempData["Name"]</h1> <br /> <img src="@TempData["Userpic"]" style="width:100px;height:100px;" /> </div> </body> </html>

Шаг 9. Вызовите TwitterAuth из представления индекса

Теперь я вызову метод «TwitterAuth» из представления индекса.

Добавьте следующий HTML-код в представление индекса

@using (Html.BeginForm("TwitterAuth", "Home", FormMethod.Get)) { <br /> <button type="submit" id="twitter">Login with Twitter</button> }

Шаг 6. Запустите приложение

Мы сделали все шаги. Теперь пришло время запустить приложение.

Первоначально опубликовано на tutorialslink.com.