我正在尝试使用asp.net web api创建一个REST服务,一切运作正常,但现在我遇到了关于身份验证的问题。
我有点困惑从哪里开始,以下是我一直在思考的:
我有一个REST API,由多个资源组成,每个资源都需要用户注册,那么什么是最好的方式呢?我应该在每次调用服务时将用户名和密码发送到标头中,以便我可以在服务器上使用AuthorizationFilterAttribute对其进行身份验证吗?
我至少应该加密它吧?我很想知道其他人在做什么,我知道有一个概念是创建一个令牌(我想这将是短暂的),因此用户将首先进行身份验证,然后会收到一个令牌,之后将在进一步调用服务时发送该令牌。那么当令牌过期时如何处理这个问题?
我还有一个资源用于注册新用户,实际上唯一会调用它的是我的客户端(Android、iPhone)。那么我应该将它保持不受任何身份验证方法的限制,还是放置硬编码密码或类似物,以便至少没有其他人可以注册新用户?要考虑到该服务将在互联网上公开。
我似乎找不到正确的做法,我肯定希望第一次就尽量做对,以免必须彻底重构整个服务。
我有点困惑从哪里开始,以下是我一直在思考的:
我有一个REST API,由多个资源组成,每个资源都需要用户注册,那么什么是最好的方式呢?我应该在每次调用服务时将用户名和密码发送到标头中,以便我可以在服务器上使用AuthorizationFilterAttribute对其进行身份验证吗?
我至少应该加密它吧?我很想知道其他人在做什么,我知道有一个概念是创建一个令牌(我想这将是短暂的),因此用户将首先进行身份验证,然后会收到一个令牌,之后将在进一步调用服务时发送该令牌。那么当令牌过期时如何处理这个问题?
我还有一个资源用于注册新用户,实际上唯一会调用它的是我的客户端(Android、iPhone)。那么我应该将它保持不受任何身份验证方法的限制,还是放置硬编码密码或类似物,以便至少没有其他人可以注册新用户?要考虑到该服务将在互联网上公开。
我似乎找不到正确的做法,我肯定希望第一次就尽量做对,以免必须彻底重构整个服务。