当前位置: 首页 > 软件库 > 云计算 > >

micro-auth

授权协议 MIT License
开发语言 Java
所属分类 云计算
软件类型 开源软件
地区 不详
投 递 者 封梓
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

micro-auth

A microservice that makes adding authentication with Google or GitHub to your application easy.

This service allows you to use Google and GitHub OAuth2 service to add authentication to your applications in a very straightforward way.

It's build with Nginx/OpenResty, Lapis and Docker. This enables the service to be very performant and requires only minimal system resources.

Features

Getting started

  • Install (if you don't have them):
  • Setup required environment variables
  • Run in development mode:
    • Run the application with docker-compose -f docker-compose-dev.yml up
  • Run in production mode:
    • Run the application with docker-compose up
  • Once micro-auth is running, you can point your login to one of the following urls (URLs are for development mode):
    • http://localhost:8080/auth/github: For GitHub login
    • http://localhost:8080/auth/google: For Google login

Authentication Services

Google

Setup

Visit Google Developers Console and create a new application on Google.Then go to Credentials and create a new OAuth Client ID.Now, get the Client ID and Client secret.

Endpoints

  • http://localhost:8080/auth/google: Endpoint for Google authentication. Point your application to this endpoint to login with Google.

Results

After successful authentication with Google the user is redirect to the URL specified in GOOGLE_REDIRECT_URL with the access token saved in the access_token query parameter.

GitHub

Setup

Visit GitHub and create a new application on GitHub to get your client id and secret.

Endpoints

  • http://localhost:8080/auth/github: Endpoint for GitHub authentication. Point your application to this endpoint to login with Github.

Results

After successful authentication with GitHub the user is redirect to the URL specified in GITHUB_REDIRECT_URL with the access token saved in the access_token query parameter.

Environment variables

To use the service you must set some required environment variables. These variables can be set in the .env file. Just copy .env.example to .env

$ cp .env.example .env

end set the required variables.

Secrets in docker swarm

Setting the above environment variables with _FILE pointed at the secret mount inside the container. -e GOOGLE_SECRET_FILE=/run/secrets/google_secret. This will set the contents on the file as the value of the environment variable.

General

  • APP_URL: Specify the URL of micro-auth (default: http://localhost:8080 in development mode). The APP_URL must be set in production mode.

Google

  • GOOGLE_CLIENT_ID: The Google application client id (required)
  • GOOGLE_CLIENT_SECRET: The Google application client secret (required)
  • GOOGLE_REDIRECT_URL: The url to redirect the user once the authentication was successful

GitHub

  • GITHUB_CLIENT_ID: The GitHub application client id (required)
  • GITHUB_CLIENT_SECRET: The GitHub application client secret (required)
  • GITHUB_REDIRECT_URL: The url to redirect the user once the authentication was successful

License

See LICENSE

Credits

  • 第一次尝试使用 go 版本 1.16 go get github.com/micro/micro/v2@latest go install github.com/micro/micro/v2@latest 基本安装步骤是这样的。 启动api命令 micro --registry=consul --registry_address=192.168.1.193 api --handler-api 输出

  • github完整代码地址 个人博客 micro API网关 micro API网关是基于go-micro开发的,具有服务发现,负载均衡和RPC通信的能力。 业界普遍做法是将鉴权,限流,熔断等功能也纳入API网关。micro API网关本身是可插拔的,可以通过新增插件的方式加入其他功能。 JWT (JSON Web Token) JWT是是微服务中常用的授权技术,关于JWT的技术原理可以参考阮一峰的

  • 1、安装micro linux下执行该命令 wget -q https://raw.githubusercontent.com/micro/micro/master/scripts/install.sh -O - | /bin/bash 2、micro server 3、micro login 出现如下异常 micro login Enter username: admin Enter pass

  • 授权认证 gRPC中默认支持两种授权方式,分别是:SSL/TLS认证方式、基于Token的认证方式。 SSL/TLS认证方式 SSL全称是Secure Sockets Layer,又被称之为安全套接字层,是一种标准安全协议,用于在通信过程中建立客户端与服务器之间的加密链接。 TLS的全称是Transport Layer Security,TLS是SSL的升级版。在使用的过程中,往往习惯于将SSL和

  • 问题起因     做为一名小白,怀着激动的心 安装了micro 使用 micro new 项目路径 --namespace=go.micro --type=web 完活 go run main.go     结果就是:      cannot use auth.callOpts (type []"github.com/coreos/etcd/vendor/google.golang.org/grp

  • Options的理解和在go-micro中的使用 c++中有重载,python中的函数参数可以省略,golang提供Options达到替代效果,几乎很多的框架中都有应用。 一般框架中似乎会定义一个叫做Options的结构体,感觉这个命名对初学者真不友好。记住Option是函数,Options是结构体。Options里面包含该框架的基本类型,而Option则代表操作其中一个或多个类型的函数。 typ

 相关资料
  • Micro 满足了在云中构建服务的关键要求。它利用微服务架构模式并提供一组服务,这些服务充当平台的构建块。Micro解决了分布式系统的复杂性,并提供了更简单的可编程抽象作为基础。 Features 以下是构成Micro的核心组件。 服务器 Micro是作为微服务架构构建的,可以抽象出基础架构的复杂性。我们将其作为对用户的单个逻辑服务器进行组合,但是将其分解为可以插入到任何基础系统中的各种构建基元。

  • 需求 各个项目上云之后,每一个项目作为一个【微前端的应用】是独立开发的,通过权限确定允许使用的模块,各个应用中的模块可以同时运行在云平台中。 定义 微前端架构可以理解为使用不同 JavaScript 框架为多个团队构建现代 Web 应用程序的技术,策略和方法。 微前端架构旨在解决单体应用在一个相对长的时间跨度下,由于参与的人员、团队的增多、变迁,从一个普通应用演变成一个巨石应用(Frontend

  • TP-Micro 是一个基于 Teleport 定制的、简约而强大的微服务框架。 安装 go version > 1.9 go get -u -f -d github.com/xiaoenai/tp-micro/...cd $GOPATH/src/github.com/xiaoenai/tp-micro/cmd/microgo install 特性 支持服务自动发现 支持自定义服务链接选择器 支持

  • Micro 是一款简单易用、直观的终端文本编辑器。 主要特性: 易于使用 常用快捷键(ctrl-s, ctrl-c, ctrl-v, ctrl-z...) 鼠标操作支持友好 交叉平台 语法高亮显示 ,支持超过 75 种语言 支持多种配色方案 搜索和替换 撤消和重做 Unicode 支持 拷贝和粘贴与系统剪贴板 小而简单 可定制 效果图:

  • Micro Tetris 是基于 1989 年国际C语言代码比赛最好的游戏而开发的简单俄罗斯方块游戏。特别适合只带有串口或者 SSH 控制台访问的嵌入式设备使用。该项目没有使用 curses 和其他重的开发包实现,只有 ANSI 转义序列和 Unix 的 stty 命令。 命令: j    Leftk    Rotatel    RightSPC  Dropp    Pauseq    Quit

  • 文件微服务,作为文件管理中间层,实现基于云服务存储和分发的业务的解耦。