Mau*_*uro 3 wordpress wp-api angular
有没有办法使用 WordPress 和 Angular 的 API Rest 创建自定义登录。
\n\n目前我正在使用 WP REST API - OAuth 1.0a 服务器插件,但我可以\xc2\xb4t 弄清楚如何做到这一点
\n\n或者也许可以使用两种方法(基本身份验证和 OAuth)?
\n\n我将不胜感激任何帮助
\n过去几周我一直在努力解决这个问题。这取决于您的用例。
首先,不要使用基本身份验证。它是不安全的并且仅用于开发。不值得花时间去设置。
OAuth(我认为)适用于当您已经在某处拥有用户存储库,并且这些用户希望您的应用程序批准访问他们的信息、为他们创建帐户等时。想想“使用 Faceook 登录!” 按钮什么的,那就是 OAuth。可能是错的,但我认为这不是你想要的。
我发现的,也是我认为您所要求的,是 JWT 或 JSON Web Token Auth。这对我来说是最好的,因为我希望用户能够创建新的用户帐户并完全在应用程序中登录它们。
首先,安装 JWT WP-API 身份验证插件:
https://wordpress.org/plugins/jwt-authentication-for-wp-rest-api/
这将在 REST API 中公开用于 JWT 身份验证的新端点。您将使用用户凭据 ping 该端点,并获得令牌响应。然后,您以某种方式存储该令牌(我当前正在使用 localStorage)并将其附加到每个需要权限的请求的请求标头中。事实上您已登录!有关详细信息,请参阅插件文档。附加请求的示例代码是在 AngJS 中,而不是 Ang2/4,但概念是相同的。以下是来自发布评论的服务的示例。
postComment(comment): any {
let headers = new Headers({ 'Authorization': 'Bearer ' + JSON.parse(localStorage.getItem('currentUser')).token});
let options = new RequestOptions({ headers: headers });
return this.http
.post(this._wpBase + "comments", comment, options)
.subscribe((res: Response) => {
res.json();
});
}
Run Code Online (Sandbox Code Playgroud)
可能有一种更奇特的、全球性的方法来做到这一点,但我仍在弄清楚。希望这有帮助!
| 归档时间: |
|
| 查看次数: |
4680 次 |
| 最近记录: |