这是我的实际OAuth2架构:
我使用this example来构建它。
让我们打电话给服务器:
资源服务器具有受保护的/resource
,手动obtaining a token from the Authorization Server之后我可以访问受保护的资源:
$ curl -H "Authorization: Bearer $TOKEN" http://RS/resource
$ Hi from resource server db9096ea-698e-4fc2-a0f9-4af6ab65ca30
到目前为止,获得了受保护RS/resource
的数据。
现在,在我的Angular / Node应用程序中,当我按下登录按钮时,将会触发http://RS/login
请求,这是流程:
http://RS/login
:http 302,重定向到AS。http://AS/uaa/oauth/authorize?client_id=acme&redirect_uri=http://RS/login&response_type=code&state=nTFE9R
:用户登录并获取代码,将触发http 302。http://RS/login?code=7kQJ2G&state=nTFE9R
:Http 302,返回RS。http://RS/
:重定向到RS的根目录,但使用http 401 Unauthorized。 如果你看到,我从未从Angular / Node应用程序获得对http://RS/resource
的访问权限。实际上,我的地址在我的浏览器中更改为http://RS/
。
您知道如何从我的Angular Node App获取对受保护资源的访问权限吗?