diff --git a/src/BirdsiteLive.Twitter/Models/TwitterUser.cs b/src/BirdsiteLive.Twitter/Models/TwitterUser.cs index 82988a3..1050486 100644 --- a/src/BirdsiteLive.Twitter/Models/TwitterUser.cs +++ b/src/BirdsiteLive.Twitter/Models/TwitterUser.cs @@ -7,5 +7,7 @@ public string Url { get; set; } public string ProfileImageUrl { get; set; } public string ProfileBackgroundImageUrl { get; set; } + public string Acct { get; set; } + public string ProfileBannerURL { get; set; } } } \ No newline at end of file diff --git a/src/BirdsiteLive.Twitter/TwitterService.cs b/src/BirdsiteLive.Twitter/TwitterService.cs index 0a6a533..f4f3eca 100644 --- a/src/BirdsiteLive.Twitter/TwitterService.cs +++ b/src/BirdsiteLive.Twitter/TwitterService.cs @@ -24,16 +24,20 @@ namespace BirdsiteLive.Twitter public TwitterUser GetUser(string username) { - Auth.SetUserCredentials(_settings.ConsumerKey, _settings.ConsumerSecret, _settings.AccessToken, _settings.AccessTokenSecret); + //Auth.SetUserCredentials(_settings.ConsumerKey, _settings.ConsumerSecret, _settings.AccessToken, _settings.AccessTokenSecret); + Auth.SetApplicationOnlyCredentials(_settings.ConsumerKey, _settings.ConsumerSecret, true); var user = User.GetUserFromScreenName(username); + if (user == null) return null; return new TwitterUser { + Acct = username, Name = user.Name, Description = user.Description, Url = user.Url, - ProfileImageUrl = user.ProfileImageUrl, - ProfileBackgroundImageUrl = user.ProfileBackgroundImageUrl + ProfileImageUrl = user.ProfileImageUrlFullSize, + ProfileBackgroundImageUrl = user.ProfileBackgroundImageUrlHttps, + ProfileBannerURL = user.ProfileBannerURL }; } } diff --git a/src/BirdsiteLive/Controllers/UserController.cs b/src/BirdsiteLive/Controllers/UserController.cs index bd6c440..d5d15fb 100644 --- a/src/BirdsiteLive/Controllers/UserController.cs +++ b/src/BirdsiteLive/Controllers/UserController.cs @@ -24,6 +24,7 @@ namespace BirdsiteLive.Controllers public IActionResult Index(string id) { var user = _twitterService.GetUser(id); + if (user == null) return NotFound(); var r = Request.Headers["Accept"].First(); diff --git a/src/BirdsiteLive/Controllers/WellKnownController.cs b/src/BirdsiteLive/Controllers/WellKnownController.cs index 247b450..9a0ceed 100644 --- a/src/BirdsiteLive/Controllers/WellKnownController.cs +++ b/src/BirdsiteLive/Controllers/WellKnownController.cs @@ -51,7 +51,9 @@ namespace BirdsiteLive.Controllers if (!string.IsNullOrWhiteSpace(domain) && domain != _settings.Domain) return NotFound(); - //TODO: check if twitter user exists + var user = _twitterService.GetUser(name); + if (user == null) + return NotFound(); var result = new WebFingerResult() { diff --git a/src/BirdsiteLive/Views/Shared/_Layout.cshtml b/src/BirdsiteLive/Views/Shared/_Layout.cshtml index 39c24bc..426caa2 100644 --- a/src/BirdsiteLive/Views/Shared/_Layout.cshtml +++ b/src/BirdsiteLive/Views/Shared/_Layout.cshtml @@ -6,6 +6,7 @@