我有一个使用不同语言环境(大约35个)的Web应用程序来呈现本地化内容。我正在使用令牌流认证(更多细节https://dev.onedrive.com/auth/graph_oauth.htm)来生成新的访问令牌。
这是通过一个新窗口实现的,该窗口向 login.live.com/oauth20_authorize.srf?client_id = ....& scope = scope = onedrive.readwrite& response_type = token& redirect_uri = REDIRECT_URI (当有access_token到期时,我通过iframe使用静默方式获取新的access_token,方法与窗口相同)。 在OneDrive Explorer示例Web应用程序(https://github.com/OneDrive/onedrive-explorer-js)
上完成了类似的身份验证方式成功验证后,会重定向到REDIRECT_URI(这是根据区域设置在我的应用上动态构建的。
我遇到的问题是我无法在Microsoft注册门户上手动添加所有可能的重定向uris( 21 的限制)。
您是否知道在门户网站中设置redirect_uris时使用通配符是否有任何方法可以做到这一点?或者可能是实现该逻辑的另一种方式?我在网上做了一些调查,发现很多开发人员遇到了同样的问题。 是否有关于此的最新补丁/更新?
感谢。
答案 0 :(得分:1)
我知道我应该将此作为评论发布,遗憾的是我没有足够的声誉发表评论..
如果用户在身份验证之前选择了他的语言环境,则可以将语言环境设置临时保存到会话(或任何您想要的位置)。现在,您可以创建自己的重定向页面,从中读取会话中的设置(或保存设置的位置)并自行重定向到正确的URI。这样,您只需在Microsoft注册门户上注册自己的重定向页面的URI。
答案 1 :(得分:0)
我作为解决方案所做的是添加一个新的servlet / temp页面,该页面被用作回调页面(使用在Microsoft Application门户上定义的重定向URI)。 该页面负责执行逻辑,然后重定向到主应用程序页面。