文章目录

  • 前言
  • 1 Stack 前端简介
    • Console
    • OAuth
  • 2 编译 Stack 前端
  • 3 总体操作流程
  • 4 部署在CVM上的操作
  • END

前言

此前一直使用命令行来测试,最近 Stack 终于逐步上线了前端功能,来做个研究。

小能手这段时间在学习 The Things Network LoRaWAN Stack V3,从使用和代码等角度对该 Stack 进行了分析,详细可点此查看。

1 Stack 前端简介

Stack 包含了两个前端应用: ConsoleOAuth Provider

Both applications use React as frontend framework. The console and oauth packages of the backend expose their respective web servers and handle all logic that cannot be done in the browser. Otherwise both applications are single page applications (SPA) that run entirely in the browser.

Console

The Console is the official management application of the stack. It can be used to register applications, end devices or gateways, monitor network traffic, or configure network related options, among other things. The console uses an OAuth access token to communicate with the stack.

OAuth

The OAuth app provides the necessary frontend for the OAuth provider of the stack. It is used e.g. to display the authorization screen that users get prompted with when they want to authorize a third-party app to access the stack.

2 编译 Stack 前端

Stack提供了 production 和 development 这两种模式的前端,可以通过环境变量 $NODE_ENV 来控制。编译命令为:

mage js:build

默认情况下,该 $NODE_ENV 为 production。本节笔记先按照 production 走,下一篇笔记再记录 development 的实践。

3 总体操作流程

这里有个需要额外关注的,就是命令操作的步骤不能乱。基本上是 build frontend -> build stack -> stack start all -> browser。具体参考步骤如下:

  1. ./mage init
  2. ./mage js:build
  3. go build ./cmd/ttn-lw-stack
  4. Identity Server 配置
$ ./ttn-lw-stack is-db init
$ ./ttn-lw-stack is-db create-admin-user --id admin --email admin@localhost
$ ./ttn-lw-stack is-db create-oauth-client --id console --name "Console" --owner admin --secret console --redirect-uri 'https://localhost:8885/console/oauth/callback' --redirect-uri 'http://localhost:1885/console/oauth/callback' --redirect-uri '/console/oauth/callback'
  1. ./cmd/ttn-lw-stack start all
  2. 如果是在本地上跑的话,那么直接浏览器访问 http://localhost:1885/console

4 部署在CVM上的操作

i. 访问 console

我是部署在腾讯云服务器上,所以浏览器访问URL要调整下IP。http://yourip:1885/console

ii. OAuth 认证

点击登录之后,会提示先认证,由于此前配置的 redirect-uri 是 localhost,因此需要手动调整下这个URL,将 localhost 替换为我们的 CVM IP。

http://localhost:1885/oauth/authorize?client_id=console&redirect_uri=http%3A%2F%2Flocalhost%3A1885%2Fconsole%2Foauth%2Fcallback&response_type=code&state=7xPGxvC05y3zbfYv

先替换第一个localhost,之后填入用户名和密码。

iii. 登录 console

在重定向的第二次URL上将 localhost 调整为 CVM IP。

END


The Things Network LoRaWAN Stack V3 学习笔记 2.7 编译运行 Web 前端相关推荐

  1. The Things Network LoRaWAN Stack V3 学习笔记

    The Things Network 是 LoRaWAN 行业里非常著名的 Network Server 提供方,尤其是开发者社区运营得非常好,吸引了很多开发者来使用他们的平台.接触的许多国外的厂家, ...

  2. The Things Network LoRaWAN Stack V3 学习笔记 2.5 LoRa节点配置接入

    前言 网关接入之后,再让节点接入.本篇笔记重点记录一些小坑,注意跳过. 小能手这段时间在学习 The Things Network LoRaWAN Stack V3,从使用和代码等角度对该 Stack ...

  3. The Things Network LoRaWAN Stack V3 学习笔记 1.2 源码编译

    前言 源码编译是重头戏,这节笔记记录如何使用 make 命令编译相关部件.由于部分包在墙外,带来了一点麻烦,还分享一个 replace 方式来翻墙的办法. 小能手这段时间在学习 The Things ...

  4. The Things Network LoRaWAN Stack V3 学习笔记 2.2 使用 CLI 进行 OAuth 登录

    前言 在上一篇笔记中已经将 Stack 运行起来了,现在可以着手用 CLI 来做一些测试,第一步是要先登录账户. 小能手这段时间在学习 The Things Network LoRaWAN Stack ...

  5. The Things Network LoRaWAN Stack V3 学习笔记 2.3 使用 CLI 在 Stack 上创建 DEMO 应用

    前言 前两篇笔记将 Stack 跑起来并且登录上去,那接下来就可以创建应用,再之后让网关和节点连接上来. 本节记录如何使用 CLI 工具在 Stack 上创建 DEMO 应用. 可参考官方的 guid ...

  6. The Things Network LoRaWAN Stack V3 学习笔记 1.2 源码编译 - 190821

    文章目录 前言 1 依赖包替换 2 编译准备 3 编译 3.1 cli 编译 3.2 stack 编译 3.3 前端编译 END 前言 源码编译是重头戏,这节笔记记录如何使用 make 命令编译相关部 ...

  7. The Things Network LoRaWAN Stack V3 学习笔记 2.1 运行准备

    前言 https://github.com/TheThingsNetwork/lorawan-stack/blob/master/doc/gettingstarted.md 这篇笔记记录了 stack ...

  8. The Things Network LoRaWAN Stack V3 学习笔记 2.7.1 Web 前端开发调试

    文章目录 前言 1 官方介绍 2 本地实践 2.1 脚本准备 2.2 操作步骤 END 前言 上一篇研究了如果编译运行 Web 前端,这一篇研究如何在开发模式下调试 Web 前端. 小能手这段时间在学 ...

  9. The Things Network LoRaWAN Stack V3 学习笔记 2.1.1 使用 CockroachDB Shell 操作 Identity Server

    前言 由于 OAUTH 命令进行了更新,导致我把一条旧的命令配置进了 Identity Server.所以本节琢磨下如何使用 cockroachdb 修改 Identity Server. 相关 sh ...

最新文章

  1. BeanUtils使用
  2. Kmeans算法介绍及其实现
  3. 基础理论:给定离散概率表求分布函数
  4. 4.mysql数据库创建,表中创建模具模板脚本,mysql_SQL99标准连接查询(恩,外部连接,全外连接,交叉连接)...
  5. Qt学习(一):两个独立窗口的信号通信
  6. docker 容器数据卷
  7. 判断一棵树是否是一颗完全二叉树☆
  8. 《R语言机器学习:实用案例分析》——1.2节R的数据结构
  9. Invalid bound statement (not found)解决办法
  10. 见过一个一个拉新地推没见过这么多一起推
  11. 360数科张家兴:金融科技的本质是线上化和自动化
  12. Python自然语言处理学习笔记(30):4.2 序列
  13. Xbox360手柄驱动xbcd+
  14. python3 shell脚本开发_python3 subprogress 模块的使用 代替shell编写脚本
  15. 2021年电工(中级)考试资料及电工(中级)考试试题
  16. 苹果手机软件闪退怎么解决_和平精英闪退怎么办 和平精英无法登陆怎么解决...
  17. 易语言和python混合编程_Python脚本可以嵌入易语言程序吗 |
  18. C#实现PDF转PNG图片
  19. thinkphp的I方法
  20. 利用网络,下载网络资源

热门文章

  1. java panel控件_JAVA :Jpanel 控件 无法显示问题
  2. 何为PaaS和SaaS?目前国内外做得好的平台有哪些?
  3. 云南python专业的好大学_云南只有云南大学值得上?这几所大学也很值得!
  4. 使用CSS3动画制作导航菜单
  5. Quick Reference
  6. 反弹shell(未完待续)
  7. 残基接触图 (Residue Contact Map)
  8. BIST(built in self test)入门
  9. 怎么导入ARV和MRC的demo
  10. 在网站加入QQ在线状态,实现客服功能。