我正在处理SPA和Web服务之间基于令牌的身份验证和授权。我在Taiseer Joudeh撰写的这个主题中找到了很棒的文章,基于this我开始构建我的基础架构。
资源和身份验证服务器是分开的。身份验证服务器有两个端点:
第一个正常工作,所以我可以注册新的受众。我有第二个问题。它总是回馈404.
public void ConfigureOAuth(IAppBuilder appBuilder)
{
OAuthAuthorizationServerOptions OAuthServerOptions = new OAuthAuthorizationServerOptions()
{
//only dev environment
//TODO
AllowInsecureHttp = true,
TokenEndpointPath = new PathString("/services/oauth2/token"),
AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(30),
Provider = new CustomOAuthProvider(),
AccessTokenFormat = new CustomJwtFormat("http://dev.dilib.local")
};
appBuilder.UseOAuthAuthorizationServer(OAuthServerOptions);
}
正如你所看到的,它几乎与Taisser在他的文章中写的相同。
我到目前为止所做的工作是为了找出它为什么没有按预期运行的原因:
所以,我没有想到,我认为我做了些蠢事,我想请求你的帮助!
答案 0 :(得分:0)
您提到oauth2令牌端点URI如下所示,但您的代码段并未说明,因为代码似乎缺少您创建的“TokenEndpointPath”变量中的“authentication”字符串。我已粘贴下面更正的代码。我不确定你的问题是否那么简单:)
http://dev.dilib.local/services/的验证强> /的oauth2 /令牌
OAuthAuthorizationServerOptions OAuthServerOptions = new OAuthAuthorizationServerOptions()
{
//only dev environment
//TODO
AllowInsecureHttp = true,
TokenEndpointPath = new PathString("/services/authentication/oauth2/token"),
AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(30),
Provider = new CustomOAuthProvider(),
AccessTokenFormat = new CustomJwtFormat("http://dev.dilib.local")
};