【问题标题】:Is it possible to do OAuth authentication identifying yourself as someone else?是否可以进行 OAuth 身份验证,将自己标识为其他人?
【发布时间】:2015-01-25 07:58:15
【问题描述】:

我正在编写一个连接到社交媒体服务(Facebook、LinkedIn 等)的网络应用程序,以收集某人的联系信息以进行宣传。该人想要此服务并为其付费,并在弹出一个显示 Contact Manager from Company Y would like to access your connections. Do you want to allow this?

的 OAuth 对话框时识别出我的公司和应用程序名称

但是,现在我想将我的应用授权给一个宣传代理,该宣传代理将使用该应用为他们的客户管理联系人。然后,该应用必须向他们的客户发送 OAuth 请求,除非客户雇用了 agency 而不是 me,而且他们不会识别 my strong> 公司和应用名称。

所以问题是:我的应用程序能否代表 代理机构 识别自己,并告诉用户 Contact Manager from Your PR Agency would like to access your connections. Do you want to allow this?,以便阅读本文的人知道请求来自他们知道,而不是我,他们不知道谁?

【问题讨论】:

    标签: facebook web-services oauth oauth-2.0 linkedin


    【解决方案1】:

    通常,您需要为每个代理注册不同的应用程序并创建应用程序密钥才能执行此操作,因为 OAuth 提供商通常会向用户显示应用程序名称。

    【讨论】:

    • 呃,这不会是非常可扩展的,但我想它会在早期可用。谢谢。
    • 好吧,您可以在重定向之前向用户说明您的应用程序授权哪个代理机构...这样他们就会接受登录到您的应用程序(域名)。
    • 我可以将应用程序称为“Agency X 的联系人管理器”,但这仅适用于 Agency X,不适用于我想要拥有的许多其他机构。但我不知道的是,我的应用程序是否可以根据运行时数据动态地将“Agency X”替换为另一个名称,具体取决于哪个代理机构当前正在使用我的应用程序向他们的客户端查询数据。跨度>
    • 为了使用 OAuth,您通常需要向您的提供商注册您的应用程序。它会给你一个应用程序密钥和秘密来使用。问题是在登录过程中,它们通常会显示注册应用程序的 URL(Google)和/或名称(Facebook)。出于安全目的,不允许对显示的信息进行动态更改。将始终为单个应用程序显示相同的信息。但是,如果您注册多个应用程序,您可以动态更改密钥并将您的应用程序托管在同一台服务器上。
    • 这是有道理的。我想我可以手动注册代理商,直到数量成为问题。我想知道是否有办法以编程方式注册应用程序。可能这太容易被滥用了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-20
    • 1970-01-01
    • 2011-09-09
    • 1970-01-01
    相关资源
    最近更新 更多