我如何将对移动和Web应用程序的访问权限授予单个Restful API应用程序

时间:2020-04-23 20:43:42

标签: api vuejs2 access-token restful-authentication

我打算编写一个通过API访问后端的vue网络应用程序。 Web应用程序本身具有一个前端和一个需要登录的后端。我打算授予api访问Web应用程序,Android应用程序和ios应用程序的权限。问题是,如何在不使用oAuth,authO或Okta的情况下将后端权限授予不同平台上的特定应用程序。智威汤逊可以在这种情况下工作吗?

1 个答案:

答案 0 :(得分:0)

JWT进行身份验证

问题是,如何在不使用oAuth,authO或Okta的情况下向不同平台上的特定应用授予后端权限。

Auth0和Okta是使用OAuth2和/或OpenID Connect标准对用户进行身份验证的身份验证提供程序,并且生成的令牌是JWT,更确切地说是{{3 }}:

A JSON Web Signature (abbreviated JWS) is an IETF-proposed standard (RFC 7515) for signing arbitrary data. 
This is used as the basis for a variety of web-based technologies including JSON Web Token.

JWT在这种情况下可以工作吗?

是的,您只需要找到在API服务器和前端中使用的正确软件包即可。

请记住,用户身份验证仅标识请求中的,而不标识正在执行请求的什么,根据我的经验,我发现这很常见开发人员之间的误解,无论大三还是大四。

谁和什么访问API服务器之间的区别

我已经撰写了关于API和移动安全性的JWS,在文章series of articles中,我更详细地介绍了内容< / strong>正在访问您的API服务器:

什么是向API服务器发出请求的东西。它确实是您的移动应用程序的真正实例,还是机器人,自动脚本还是攻击者使用诸如Postman之类的工具手动在您的API服务器上闲逛?

是移动应用程序的用户,我们可以通过多种方式进行身份验证,授权和标识,例如使用OpenID Connect或OAUTH2流。

我希望阅读后您现在意识到是您的API服务器的用户,能够验证和授权对数据的访问,并且什么是代表用户发出请求的软件。

将API服务器锁定到特定的应用程序

我打算授予对Web应用程序,Android应用程序和ios应用程序的api访问权限。问题是,如何在不使用oAuth,authO或Okta的情况下向不同平台上的特定应用授予后端权限。

您为自己买了一个很难解决的问题,但是我们开发人员喜欢挑战,不是吗;)

尽管用户身份验证可能会让API服务器知道正在使用API​​,但不能保证请求源自您期望的 What 。移动应用程序或Web应用程序,令您感到惊讶的是,您最终可能会发现自己的合法用户有时会试图绕过您的服务,并使用移动应用程序或自动脚本的重新打包版本来访问他们将无法获得的功能或优势否则。

要保护您的API服务器,您需要在尽可能多的层次上进行深度防御(就像在过去几个世纪中在城堡中所做的那样),并且法律或特定的市场法规可能会要求

对于网络应用程序

在网络应用程序的上下文中,您可能要遵循我对Why Does Your Mobile App Need An Api Key?的建议,以解决问题从应用程序调用中获得的安全api数据问题,特别是标题为的部分捍卫API服务器

对于移动应用

对于移动应用程序,使用移动应用程序证明的概念时,API服务器可以对发出请求更有信心,您可以阅读我给this answer问题如何保护移动应用程序的API REST?,以获取更多详细信息。您将要专门阅读保护API服务器部分和可能的更好解决方案部分。

您想参加额外的战斗吗?

在回答安全问题时,我总是喜欢引用OWASP基金会的出色工作,它可以帮助您加强应用程序和服务器的安全性。

对于Web Apps

this answer

OWASP Top 10是有关Web应用程序安全性的功能强大的意识文档。它代表了对Web应用程序最严重的安全风险的广泛共识。该项目的成员包括来自世界各地的各种安全专家,他们分享了他们的专业知识,以编制此列表。

OWASP Web Top 10 Risks

OWASP Web安全测试指南包括用户可以在自己的组织中实施的“最佳实践”渗透测试框架,以及描述了用于测试最常见的Web应用程序和Web服务安全问题的技术的“低水平”渗透测试指南。

对于移动应用

The Web Security Testing Guide

OWASP移动安全项目是一个集中式资源,旨在为开发人员和安全团队提供构建和维护安全移动应用程序所需的资源。通过该项目,我们的目标是对移动安全风险进行分类并提供开发控制措施,以减少其影响或被利用的可能性。

OWASP Mobile Security Project - Top 10 risks

移动安全测试指南(MSTG)是用于移动应用安全开发,测试和逆向工程的综合手册。

对于APIS

OWASP - Mobile Security Testing Guide

OWASP API安全项目旨在通过强调不安全API中的潜在风险并说明如何减轻这些风险来为软件开发人员和安全评估人员提供价值。为了实现此目标,OWASP API安全项目将创建和维护“十大API安全风险”文档,以及用于创建或评估API的最佳实践的文档门户。