我有一个简单的nativeScript应用程序(ng-groceries
),我是通过跟进教程创建的。现在我还设法让Jhipster Microservice
和Jhipster Microservice Gateway
应用程序启动并运行。我正在尝试从nativeScript
应用程序登录到Jhipster
应用。我搜索了很多地方,试图理解生成的代码,但无法找出解决方案。我知道这必须用JWT
令牌做一些事情,有人可以指出我正确的方向,或者给出解决方案的方法。这将是很大的帮助。
OK.
我试过以下事情:
尝试在loginService.ts中调用http://169.254.86.103:8080/FITHSERVICEMONGO/api/authenticate/。但在Jhipster服务器的控制台上看不到任何东西。
169.254.86.103是我通过mvnw启动Jhipster服务应用程序时给出的外部IP。
FITHSERVICEMONGO是我的服务应用程序的名称。我也尝试从url中删除它。当我从UI登录网关应用程序时,获取的请求http://169.254.86.103:8080/api/authenticate.I也试过了。同样,在服务控制台和网关应用控制台上都没有。两者都是由mvnw
要检查此IP是否可以从我的模拟器中访问。我尝试从模拟器浏览器访问//169.254.86.103:8080/#/。有用。 网关应用程序在浏览器中工作。在哪里// localhost:8080 /#/。没有用。
当我发送带有params的身份验证请求作为用户名和密码时,我当时正在等待。我将获得一个JWT令牌以及该令牌,我将随后传递每个请求。
我的代码的语法是:
http.post(
//BackendService.apiUrl + "oauth/token",
"BackendService.apiUrl" + "/FITHSERVICEMONGO/api/authenticate/",
JSON.stringify({
username: user.email,
password: user.password
}),
{ Content-Type: "application/json"}
)
答案 0 :(得分:0)
要使用JHipster的后端验证第三方前端应用程序,您可以执行与角度前端相同的操作,调用/ api / authenticate并使用在api头中传递接收的jwt令牌。为实现这一目标,Swagger UI是您的朋友。
以下是使用curl检索JWT令牌的方法:
curl -X POST localhost:8080/api/authenticate -d '{"password":"admin","username":"admin"}' -H 'Content-Type: application/json'
经过身份验证的请求示例:
curl -X POST localhost:8080/api/users -H 'Authorization: Bearer YOURTOKENHERE'