私はMVC5をインストールしており、1日後に手を差し伸べて助けを得る時期だと思いますが、OAuth Guru、いいえ。私はインターネットを検索しましたが、特に認証プロセスのみに焦点を当てたものは何もありませんでした。あるいは、ディスカッションが非常に緩やかで、私が学習しようとしている特定のフレームワークのロジックの概念を理解できません。Twitterでユーザーを認証するにはログインの目的ではない
私はMVCコントローラを持っており、ユーザが認証するためにボタンをクリックすると私の見解では、それはSocialという単純なアクションです。だから私のURLはhttp://localhost://mywebsite/enterprise/social
です。これは学校のものですが、私は助けが必要です。私は始めから使い始めています。これは働くために使用する1.0 OAuth
です。
私はTwitter用のログインを使いたくない、私は数年前に作ったカスタムのTwitterボックスに使用されていて、tweeting、re-tweeting、基本的にTwitterと同じ時間に使用されます。 サイトのログインには、はありません。
私は、Twitterへの誘導、サインイン、同じMVCページへのリダイレクト、トークンのキャプチャ、自分のストレージへの保存を行いました。
それ以降のすべての呼び出しは、データベースへの独自の呼び出しを作成し、将来の呼び出しのために作成されているため、特別な目的はありません。
ここに私のコントローラがありますが、どこが間違っていますか?ここで
public async Task Social(FormCollection form)
{
//var auth = new MvcSignInAuthorizer
var auth = new MvcAuthorizer
{
CredentialStore = new InMemoryCredentialStore
{
ConsumerKey = ConfigurationManager.AppSettings["twitterConsumerKey"],
ConsumerSecret = ConfigurationManager.AppSettings["twitterConsumerSecret"]
}
};
string twitterCallbackUrl = Request.Url.ToString().Replace("Begin", "Complete");
auth.Callback = new Uri(twitterCallbackUrl);
await auth.BeginAuthorizationAsync();
}
public async Task<PartialViewResult> CompleteAsync()
{
var auth = new MvcAuthorizer
{
CredentialStore = new InMemoryCredentialStore()
};
await auth.CompleteAuthorizeAsync(HttpContext.Request.Url);
var credentials = auth.CredentialStore;
string oauthToken = credentials.OAuthToken,
oauthTokenSecret = credentials.OAuthTokenSecret,
screenName = credentials.ScreenName,
userName = Membership.GetUser().UserName;
ulong userID = credentials.UserID;
System.Web.Profile.ProfileBase pro = System.Web.Profile.ProfileBase.Create(userName, true);
pro.SetPropertyValue("twoauth_token", oauthToken);
pro.SetPropertyValue("twtokensecret", oauthTokenSecret);
pro.Save();
HttpContext.Response.SetOauthFromCookie("twit", oauthTokenSecret, oauthToken, userName, true);
ViewBag.IsTwitterConnected = IsTwitterConnected;
return PartialView("_SocialPartial");
}
私はそれがMVC 5 4.6.2フレームワークで実行する必要が何をすべきか、コードの私のStartup.cs
public partial class Startup
{
public void ConfigureAuth(IAppBuilder app)
{
// Use a cookie to temporarily store information about a user logging in with a third party login provider
app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
app.UseTwitterAuthentication(
new TwitterAuthenticationOptions
{
ConsumerKey = ConfigurationManager.AppSettings["twitterConsumerKey"],
ConsumerSecret = ConfigurationManager.AppSettings["twitterConsumerSecret"],
Provider = new LinqToTwitterAuthenticationProvider()
});
}
}
}
転位があるだろう驚くばかり!
こんにちはジョー、私は数年のためにあなたのライブラリを使用しました 、私は一年前、私まで問題があったことがありません何度も諦めてしまった。ダウンロードされたサンプルでも、サーバーのエラーが発生するので、これは私の側です。エラーポストを見て、その意味を教えてください。ところで、authincationが完了するとすぐに、私は将来の呼び出しのためにデータベースにすべてを保存するので、ユーザーがTwitterに誘導され、ログインし、リダイレクトされ、自分の情報をキャプチャして保存できるので、それはそれですが、入札のための神、インターネット上の誰もこの話題だけで書くことを拒否します。 –
Twitterのアプリケーションで「コールバックURL」を入力することをお勧めします。http://stackoverflow.com/questions/21170531/desktop-applications-only-support-the-oauth-callbackの回答と同様です-value-oob-oauth-request-t –
私はあなたのWebFormsデモを使用し、WebFormsページにリダイレクトされましたが、今はもっとクリーンで、この方法で動作します。 –