我目前正在构建oAuth2服务器,以便外部客户端/设备可以访问我的服务中的数据,而无需每次请求都通过用户凭据发送。在花了一整天阅读大量的教程和在线文档之后,我终于理解了oAuth的工作方式,但是,还有一件事我不太确定......
在向oAuth服务器发送授权代码请求时,我应该如何处理对不是网络服务器的移动设备和设备的回调?
E.g。对oAuth服务器的此请求将发送授权代码作为回调到指定的Web服务器(在这种情况下为http://client-url.com)
http://mydomainname/oauth2/?client_id=test&grant_type=authorization_code&client_details=test&redirect_uri=http://client-url.com&response_type=code
http://client-url.com处的服务器将收到包含授权码的响应,开发人员将能够相应地存储用户的oAuth凭据。
显然移动设备不是网络服务器,那么有没有一种标准化的处理方式?我在网上看到你可以在iOS和Android应用程序中定义一个称为自定义URI方案的东西。但是其他移动平台呢?和桌面应用程序?我希望可以从尽可能多的平台和设备访问我的API。
我问这个问题的原因是因为我想在我的oAuth服务器上添加验证,以便用户只能注册具有有效回调URL的应用程序。除了有效的URL之外,我不确定是否应该允许任何其他类型的输入作为回调。
任何人都可以对此发光吗?我想避免花费数小时在所有设备上验证和测试,因为我确信过去为多个移动平台开发的人必须对此有一些了解。
提前致谢。