【问题标题】:Avoid exposing LinkedIn API key in HTML避免在 HTML 中暴露 LinkedIn API 密钥
【发布时间】:2018-08-04 20:07:29
【问题描述】:

我希望我的用户使用 使用 LinkedIn 登录 功能登录。 LinkedIn API 文档提供了以下示例 sn-p 以供入门:

<script type="text/javascript" src="//platform.linkedin.com/in.js">
    api_key: YOUR_API_KEY_HERE
    authorize: true
    onLoad: onLinkedInLoad
</script>

<script type="text/javascript">

    // Setup an event listener to make an API call once auth is complete
    function onLinkedInLoad() {
        IN.Event.on(IN, "auth", getProfileData);
    }

    // Handle the successful return from the API call
    function onSuccess(data) {
        console.log(data);
    }

    // Handle an error response from the API call
    function onError(error) {
        console.log(error);
    }

    // Use the API call wrapper to request the member's basic profile data
    function getProfileData() {
        IN.API.Raw("/people/~").result(onSuccess).error(onError);
    }

</script>

如何在不向公众公开 YOUR_API_KEY_HERE 的情况下实现这一点?有一些 npm 包可以处理这种事情,但它们都很旧(每当一个包至少一年没有更新时,我都会感到紧张)。

我的应用程序使用 node 和 express。我应该使用旧的 npm 包还是有更好的方法来隐藏 api_key?

【问题讨论】:

    标签: javascript node.js express oauth-2.0 linkedin-api


    【解决方案1】:

    在 javascript 或网站中有 YOUR_API_KEY_HERE 是可以的,也是必要的,有时是必要的。他们的重要部分是不要共享您的 SECRET_KEY 因为您需要两者都使用 API 做任何事情。确保始终使用 HTTPS 进行所有通信。

    来自安全应用程序网站的linkedin最佳实践: https://developer.linkedin.com/docs/best-practices

    API 密钥和密钥

    在调用 LinkedIn API 时,您会使用两条可识别信息:API 密钥(有时称为消费者密钥)和密钥(或消费者密钥)。

    API 密钥是您的应用程序的公共标识符,而密钥是机密的,只能用于在 LinkedIn API 上对您的应用程序进行身份验证。

    由于需要同时使用 API Key 和 Secret Key 来确认您的应用程序的身份,因此切勿公开您的 Secret Key。以下是一些正确存储密钥的建议:

    创建原生移动应用程序时,请勿将其本地存储在移动设备上。

    不要在任何客户端代码文件中公开,例如 JavaScript 或 HTML 文件。

    不要将其存储在可在外部查看的 Web 服务器上的文件中,例如:配置文件、包含文件等。

    不要将其存储在日志文件或错误消息中。

    请勿通过电子邮件发送或张贴在留言板或其他公共论坛上。

    请记住,在将 OAuth 2.0 授权代码交换为访问令牌时,密钥会作为请求的一部分传递。请勿公开此请求!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-29
      • 2022-01-21
      • 2012-01-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多