我已经按照以下方式(以及其他方式)配置了JSON Web令牌。

      Plugins.Add(new AuthFeature(() => new AuthUserSession(),       new IAuthProvider[] {             new JwtAuthProvider(appSettings) { AuthKeyBase64 = appSettings.GetString("JWT:AuthKeyBase64")},             new FacebookAuthProvider(appSettings),             new TwitterAuthProvider(appSettings),             new CredentialsAuthProvider(appSettings),       })); 

当我尝试使用reslet与/ auth进行用户授权时,即使我知道用户名和密码正确,也会获得401 Unauthorized。

我还需要添加其他内容吗? 还是我需要做的其他更改? 如果启用了BasicAuth,则登录没有问题。

===============>>#1 票数:2 已采纳

空的/auth路由仅检查您是否已通过身份验证,如果未通过身份验证,则将返回401表示是这样,否则它将返回200响应以及有关会话的基本信息。

要进行身份验证,您需要使用Auth Provider之一进行身份验证 ,例如,对于用户名/密码,您需要使用以下身份验证:

/auth/credentials 

通过发送GET /auth/credentials?username=myuser&password=mypass通过HTTP POST

POST /auth/credentials     {     "UserName": "admin",     "Password": "test",     "RememberMe": true } 

请注意,在下一版本的ServiceStack中,默认情况下将禁用/ auth / credentials之类的GET Authenticate Requests ,因此建议在您的应用中通过HTTP POST进行身份验证。

  ask by Atle Kristiansen translate from so

本文未有回复,本站智能推荐: