MVC 6 UseOAuthBearerAuthentication

时间:2015-05-11 19:52:34

标签: asp.net oauth asp.net-core-mvc bearer-token

在使用Microsoft.AspNet.Security的MVC 6 RCP 6中,我能够使用自定义的SecurityTokenValidator。

在RC中,Microsoft.AspNet.Security在Beta4中不存在,因此我将代码更改为使用Microsoft.AspNet.Authentication,请参见下文:(编译并运行但SecurityTokenValidator永远不会触发。

using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace WPFTestApp2
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void MenuItem_Click(object sender, RoutedEventArgs e)
        {
            HelpWindow window = new HelpWindow();
            window.Show();
        }
    }
}

2 个答案:

答案 0 :(得分:0)

替换app.UseOAuthBearerAuthentication代码
app.UseMiddleware<OAuthBearerAuthenticationMiddleware>(new ConfigureOptions<OAuthBearerAuthenticationOptions>(options =>
{
options.AutomaticAuthentication = true;
                options.SecurityTokenValidators = new List<ISecurityTokenValidator> { validator };
}));

答案 1 :(得分:0)

你明白了吗?

今天发现CustomSecurityValidationToken没有触发,因为内部异常是throw(在我的情况下,内部验证基于params)。 尝试调试通知,如果它触发'AuthenticationFailed',你会在'context'变量中找到一个名为'Exception'的属性,如果有的话。

iteration