无法使用OAuth和Twitter外部提供程序对Asp.net WebApi进行身份验证

时间:2017-05-25 16:20:15

标签: c# asp.net-web-api twitter

我创建了Asp.net WebApi并启用了TwitterAuthentication代码。

HomeController.cs上使用[Authorize]属性。

现在,如何在没有打开登录框的情况下验证凭据并授​​予对Authorize Controller的访问权限?

 public void ConfigureAuth(IAppBuilder app)
        {
            // Configure the db context and user manager to use a single instance per request
            app.CreatePerOwinContext(ApplicationDbContext.Create);
            app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);

            // Enable the application to use a cookie to store information for the signed in user
            // and to use a cookie to temporarily store information about a user logging in with a third party login provider
            app.UseCookieAuthentication(new CookieAuthenticationOptions());
            app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);

            // Configure the application for OAuth based flow
            PublicClientId = "self";
            OAuthOptions = new OAuthAuthorizationServerOptions
            {
                TokenEndpointPath = new PathString("/Token"),
                Provider = new ApplicationOAuthProvider(PublicClientId),
                AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"),
                AccessTokenExpireTimeSpan = TimeSpan.FromDays(14),
                // In production mode set AllowInsecureHttp = false
                AllowInsecureHttp = true
            };

            // Enable the application to use bearer tokens to authenticate users
            app.UseOAuthBearerTokens(OAuthOptions);

            // Uncomment the following lines to enable logging in with third party login providers
            //app.UseMicrosoftAccountAuthentication(
            //    clientId: "",
            //    clientSecret: "");

            app.UseTwitterAuthentication(
                consumerKey: "mykey",
                consumerSecret: "mysecret");
        }
  

我在twitter app中添加了一个应用程序 - 获取消费者密钥。   和消费者的秘密。

     

我不希望打开Twitter登录弹出窗口   用于授权webapi时的登录凭据。

0 个答案:

没有答案