java - 区分对 Java Spring 后端的 Web 和 native 应用程序请求

标签 java android ios spring

用户可以通过网络或 native 应用程序(iOS 或 Android)登录我的服务。用于身份验证的后端端点 (Java Spring) 对于所有端点都是相同的,但我需要区分 REST(POST 和 GET)请求是来自 Web 浏览器还是来自 native 移动应用程序,因为我想实现不同的 session 策略.

我怎样才能做到这一点?

最佳答案

因此您需要对所有人进行身份验证,因为 IOS、Android 和 Web 是与服务器通信数据的前端。 因此,您需要要求设备操作系统在 header 中前端处理人员,以便您可以知道 api 调用来自何处。每当他们向服务器发送 api 时,他们都会在 header 中发送参数。

        // android send data
        headers.put("device-os", "android");

        // IOS send data
        headers.put("device-os", "ios");

        // web send data
        headers.put("device-os", "web");

注意:- 以上代码特定于 Android。

关于java - 区分对 Java Spring 后端的 Web 和 native 应用程序请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48881191/

相关文章:

java - 在 Android 应用程序上初始化后 CircularFifoBuffer 崩溃

java - Commons FTPClient 在上传大文件后挂起

java - 单击 Java 中的 JButton 时如何设置AlwaysOnTop()?

java - Hadoop-LZO strange native-lzo library not available 错误

android - 即使蓝牙已关闭,也能检测附近的信标

ios - 三角形与 Quartz 2D 绘图完美对齐

android - 警察扫描仪 radio 应用程序如何工作?具体来说,他们从哪里获得流式音频数据?

java - 防止屏幕方向更改后服务过度窗口旋转

android - 如何更改 NavigationView 的项目文本大小?

ios - 从应用程序委托(delegate)中关闭模态视图的最佳方法