【问题标题】:Curl get to angular 2 http get request卷曲到 Angular 2 http 获取请求
【发布时间】:2016-12-06 00:37:53
【问题描述】:

我正在使用 Twilio API 来验证电话号码,其余使用命令行的 api 将是:

curl -XGET "https://lookups.twilio.com/v1/PhoneNumbers/415-701-2311" -u "{AccountSid}:{AuthToken}"

现在我想知道如何使用 Angular 2 实现这个 http get 请求?到目前为止,我有:

private url_verifyEmail: string = 'https://emailverifierapi.com/v2/'

constructor(private http: Http) {}
verifyPhone(phone: string): Observable<any> {
    let params = new URLSearchParams()
    params.set('AccountSid', `${constants.twilioAcountSID}`)
    params.set('AuthToken', `${constants.twilioAuthToken}`)

    return this.http.get(`${this.url_verifyPhone}${phone}`, {search: params})
                    .map(this.extractResponseData)
                    .catch(this.handleError)
}

但是响应给了我未经授权,说 accountSid 或 authToken 不正确?任何帮助,将不胜感激。谢谢。

【问题讨论】:

    标签: http curl angular twilio restful-authentication


    【解决方案1】:

    这可能有效:

    constructor(private http: Http) {}
    verifyPhone(phone: string): Observable<any> {
        return this.http.get(`https://${constants.twilioAcountSID}:${constants.twilioAuthToken}@lookups.twilio.com/v1/PhoneNumbers/415-701-2311${phone}`)
                        .map(this.extractResponseData)
                        .catch(this.handleError)
    }
    

    (IE不支持)

    另见https://stackoverflow.com/a/38369923/217408

    【讨论】:

      【解决方案2】:

      这里是 Twilio 开发者宣传员。

      我们建议您不要从应用程序的客户端发出 API 请求。为此,您必须存储或能够从客户端访问您的 Twilio 帐户凭据(Account SID 和 Auth Token)。

      这意味着攻击者可以窃取您的凭据并接管您的 Twilio 帐户。

      我们的建议是从您的服务器访问 API。这是verify numbers in Node.js using the Lookups API的方式。

      让我知道这是否有帮助。

      【讨论】:

        猜你喜欢
        • 2019-03-31
        • 2016-11-17
        • 2016-12-20
        • 2021-05-31
        • 1970-01-01
        • 1970-01-01
        • 2018-07-08
        • 1970-01-01
        • 2015-10-29
        相关资源
        最近更新 更多