Exception Oauth2和Spring安全性:使用Oauth2和Spring安全性进行身份验证时失败
我想在RESTWeb服务中使用Oauth2和Spring安全性。我是这方面的新手,我正试图在一些网站的帮助下创建配置。尽管如此,我仍然不清楚oauth的rest身份验证服务的流程是怎样的。我正在使用最新的依赖项。我使用数据库存储客户信息和令牌。当我尝试访问令牌时,使用以下url和post请求和post正文:Exception Oauth2和Spring安全性:使用Oauth2和Spring安全性进行身份验证时失败,exception,spring-security,oauth-2.0,basic-authentication,Exception,Spring Security,Oauth 2.0,Basic Authentication,我想在RESTWeb服务中使用Oauth2和Spring安全性。我是这方面的新手,我正试图在一些网站的帮助下创建配置。尽管如此,我仍然不清楚oauth的rest身份验证服务的流程是怎样的。我正在使用最新的依赖项。我使用数据库存储客户信息和令牌。当我尝试访问令牌时,使用以下url和post请求和post正文: http://localhost:8080/empirecl-api/oauth/token grant_type=password&username=a@a.com&pas
http://localhost:8080/empirecl-api/oauth/token
grant_type=password&username=a@a.com&password=password&client_id=my-client-with-secret&client_secret=ak_secret
将出现“基本身份验证”弹出框。我正在使用chrome rest postman客户端。我的数据库中有一个用户表,存储用户名和密码,当我输入这些username
和password
时,身份验证失败,如果我使用我的client\u id
和client\u secret
作为username
和password
,身份验证失败。当我取消基本身份验证的pop时,返回以下json
:
{
"error": "unauthorized",
"error_description": "No client with requested id: a@a.com"
}
我不知道会发生什么事
当我尝试使用get-reqquest访问以下url时:
http://localhost:8080/empirecl-api/oauth/authorize?grant_type=password&username=a@a.com&password=password
将返回以下错误
:
{
"error": {
"error": "invalid_client",
"error_description": "Bad client credentials"
}
}
当我在eclipse的console中检查错误时,显示以下错误:
AuthorizationEndpoint:436 - Handling ClientRegistrationException error: No client with requested id: null
如何解决这个问题以及如何将Oauth与RESTAPI一起使用。我还想用Oauth保护我的所有rest url 您需要将客户端用户名和密码作为Base64编码的授权头传递 尝试使用curl。以下是一个例子:
卷曲-v-X贴子\
-H“内容类型:应用程序/json”\
-H“授权:基本MZUZYJMWMMM0NDU3NGY1NJUNDU2ODDLNTM0ZTDKNME6MJG2OTI0NJK3ZTYXNWE2NZJHNJQ2YTQ5MZU0NTY0NMM=“\
'http://localhost:8080/empirecl-api/oauth/token?授权类型=密码和用户名=a@a.com&密码=密码'
我介绍了一个工作示例您需要将客户端用户名和密码作为Base64编码的授权标头传递 尝试使用curl。以下是一个例子:
卷曲-v-X贴子\
-H“内容类型:应用程序/json”\
-H“授权:基本MZUZYJMWMMM0NDU3NGY1NJUNDU2ODDLNTM0ZTDKNME6MJG2OTI0NJK3ZTYXNWE2NZJHNJQ2YTQ5MZU0NTY0NMM=“\
'http://localhost:8080/empirecl-api/oauth/token?授权类型=密码和用户名=a@a.com&密码=密码'
我描述了一个工作示例这里有两个错误
您可能应该确保对OAuth2的工作原理有更多的了解,并可能扩展您的问题,以解释为什么要使用它以及为什么选择这种特殊的授权类型。这里有一些错误
您可能应该确保对OAuth2的工作原理有更多的了解,也许可以扩展您的问题,解释为什么要使用它以及为什么选择这种特殊的补助金类型。hello,@porterhead,@Basic mZuzyjmmmM0ndu3ngy1njuwndu2odlntm0ztdknme6mjg2oti0njk3ztyxnwe2nzjhq5mzun0nmm的实际值是多少=“`?String-toEncode=clientId+”:“+clientSecret-String-encodestr=Base64.encodeToString(toEncode.bytes())@lain-Porter我正在使用客户机的密码:123456789客户机信息并将其编码为Base64,但发送请求时仍然存在问题。您好,@porterhead`Basic MZUZYJMMM0NDU3NGY1NJUWNDU2ODDLNTM0ZTDKNME6MJG2OTI0NJK3ZTYXNWE2NZJHNJQ2YTQ5MZU0NY0NMM=“`?字符串toEncode=clientId+”:“+clientSecret字符串encodedStr=Base64.encodeToString(toEncode.bytes())@lain Porter我正在使用
我的客户机和secret:123456789
客户机信息,并将其编码为base64,但发送请求仍然存在问题。Hello@Luke我能够生成令牌,但仍然存在保护我需要保护的资源的问题。从rest客户机,对资源的调用成功进行,没有任何authentication.following是config:
Hello@Luke我能够生成令牌,但仍然存在保护我需要保护的资源的问题。从rest客户端,对资源的调用在没有任何身份验证的情况下成功进行。以下是config: