现有API的移动应用程序身份验证

我的应用程序具有Spring安全性。它是Angular SPA的REST API。它使用会话和cookie机制。现在,我想从移动应用程序(Nativescript)访问此api。我花了一些时间来寻找对移动应用程序用户进行身份验证的最佳方法。在大多数情况下,建议使用oauth2和jwt令牌。因此,我对此进行了重新研究,并决定仅针对移动应用程序添加其他(单独的)身份验证。因此,Angular应用仍将使用路径api / ...进行会话,而移动应用将使用路径/ api / mobile / ...的令牌机制(在下面是相同的api,但前缀不同)。

我决定使用OAuth2及其Spring集成。我阅读了文档,很困惑。为什么他们总是提到身份验证提供程序(Google,Github,Facebook)?我不想强迫我的用户通过其他服务登录。我想允许他们使用已经在我的应用程序中注册的凭据登录。这种社交登录与oAuth授权服务器之间的关系如何?他们提供的所有示例都使用其他一些服务。

我还尝试将授权服务器添加到现有应用中。我已成功检索令牌。但是现在我不了解所有这些关系。有保留客户端ID和客户端服务器的授权服务器。但是,为什么/ auth / token端点需要另一个身份验证?因此,移动应用需要提供3种不同的凭据-用户凭据,客户端ID以及机密和令牌端点凭据。

我错过了什么吗?我知道OAuth仅是规范,而Spring是其实现。但是我对Spring的复杂化印象深刻。而且由于我只有一种资源,我是否需要oauth?

@Configuration
@EnableAuthorizationServer
public class AuthorizationServerConfig extends AuthorizationServerConfigurerAdapter {

    @Override
    public void configure(ClientDetailsServiceConfigurer configurer) throws Exception {
        configurer
                .inmemory()
                .withClient(clientId)
                .secret(passwordEncoder.encode(clientSecret))
                .authorizedGrantTypes("refresh_token","authorization_code","password","implicit")
                .scopes(scopeRead,scopeWrite)
                .resourceIds(resourceIds);
    }
}
weipei_200811 回答:现有API的移动应用程序身份验证

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3156972.html

大家都在问