最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

从发送iOS应用一个简单的字符串的Node.js服务器,并对其进行解码

IT培训 admin 6浏览 0评论

从发送iOS应用一个简单的字符串的Node.js服务器,并对其进行解码

我有一个iOS应用程序,我必须在用户与他们的LinkedIn账户的火力地堡数据库签名。我已经设法他们登录自己与他们的LinkedIn应用程序,所以我有用户信息。

据火力地堡,我有什么做的是用户ID发送到我的服务器,在那里我有薄荷自定义的令牌,然后我要发回的应用程序,并签署了用户在自定义标记。

我已成立了一个Node.js的服务器,我设法将用户ID发送给服务器。我试图发送回用户ID正好看到一切正常,然后我就能薄荷令牌通过以下对火力地堡的相关教程。

这是到目前为止我的代码在iOS应用:

func sendInfoToServer() {

        let uid = "this-is-the-user-id"

        let linkedinUserID = uid.data(using: .utf8)

        let apiRoute = "the-address-to-my-server"
        guard let url = URL(string: "https://\(apiRoute)/LItoken")         else {
            return
        }

         var urlRequest = URLRequest(url: url, cachePolicy: .returnCacheDataElseLoad, timeoutInterval: 30.0)

        urlRequest.httpMethod = "POST"
        urlRequest.httpBody = linkedinUserID

        let session = URLSession(configuration: URLSessionConfiguration.default)
        let task: URLSessionDataTask = session.dataTask(with: urlRequest) { (data, res, err) in
            guard data != nil, err == nil else {return}
            guard let response = String(data: data!, encoding: .utf8) else {return}

            print("this is the response from server: \(response)")
        }
        task.resume()
    }

这就是我对Node.js的:

const express = require('express')
const app = express()
const morgan = require('morgan')
const bodyParser = require('body-parser')
const utf8 = require('utf8')

app.use(morgan('combined'))

app.use(bodyParser.urlencoded({
  extended: true
}))

app.post('/LItoken', (req, res) => {

  const linkID = req.body
  const decodedID = utf8.decode(linkID)

res.send("This is the decoded id" + decodedID)
})

const PORT = process.env.PORT || 3003

app.listen(PORT, () => {
  console.log("Server is up on" + PORT)
})

当我从打印服务器在iOS应用的响应我刚刚得到一个空字符串。

我有一个服务器端的开发或Node.js的,所以请原谅我,如果我的问题是非常愚蠢的,或者如果我失去了一些东西非常基本完全没有经验。

在此先感谢您的帮助!

回答如下:

如下我终于解决了这个问题:的linkID常量必须声明为req.body.lid实际上指的是LinkedIn ID。

然后,我需要在我的js文件的火力管理员SDK,并得到了与下面的代码自定义标记:

  admin.auth().createCustomToken(linkID)
  .then((customToken) => {
    res.json({
      customToken
      })
  })

从发送iOS应用一个简单的字符串的Node.js服务器,并对其进行解码

我有一个iOS应用程序,我必须在用户与他们的LinkedIn账户的火力地堡数据库签名。我已经设法他们登录自己与他们的LinkedIn应用程序,所以我有用户信息。

据火力地堡,我有什么做的是用户ID发送到我的服务器,在那里我有薄荷自定义的令牌,然后我要发回的应用程序,并签署了用户在自定义标记。

我已成立了一个Node.js的服务器,我设法将用户ID发送给服务器。我试图发送回用户ID正好看到一切正常,然后我就能薄荷令牌通过以下对火力地堡的相关教程。

这是到目前为止我的代码在iOS应用:

func sendInfoToServer() {

        let uid = "this-is-the-user-id"

        let linkedinUserID = uid.data(using: .utf8)

        let apiRoute = "the-address-to-my-server"
        guard let url = URL(string: "https://\(apiRoute)/LItoken")         else {
            return
        }

         var urlRequest = URLRequest(url: url, cachePolicy: .returnCacheDataElseLoad, timeoutInterval: 30.0)

        urlRequest.httpMethod = "POST"
        urlRequest.httpBody = linkedinUserID

        let session = URLSession(configuration: URLSessionConfiguration.default)
        let task: URLSessionDataTask = session.dataTask(with: urlRequest) { (data, res, err) in
            guard data != nil, err == nil else {return}
            guard let response = String(data: data!, encoding: .utf8) else {return}

            print("this is the response from server: \(response)")
        }
        task.resume()
    }

这就是我对Node.js的:

const express = require('express')
const app = express()
const morgan = require('morgan')
const bodyParser = require('body-parser')
const utf8 = require('utf8')

app.use(morgan('combined'))

app.use(bodyParser.urlencoded({
  extended: true
}))

app.post('/LItoken', (req, res) => {

  const linkID = req.body
  const decodedID = utf8.decode(linkID)

res.send("This is the decoded id" + decodedID)
})

const PORT = process.env.PORT || 3003

app.listen(PORT, () => {
  console.log("Server is up on" + PORT)
})

当我从打印服务器在iOS应用的响应我刚刚得到一个空字符串。

我有一个服务器端的开发或Node.js的,所以请原谅我,如果我的问题是非常愚蠢的,或者如果我失去了一些东西非常基本完全没有经验。

在此先感谢您的帮助!

回答如下:

如下我终于解决了这个问题:的linkID常量必须声明为req.body.lid实际上指的是LinkedIn ID。

然后,我需要在我的js文件的火力管理员SDK,并得到了与下面的代码自定义标记:

  admin.auth().createCustomToken(linkID)
  .then((customToken) => {
    res.json({
      customToken
      })
  })
发布评论

评论列表 (0)

  1. 暂无评论