stormpath / lumen
使用 Stormpath 和 Laravel 构建简单、安全的 Web 应用程序!
Requires
- php: >=5.5
- bretterer/iso_duration_converter: ^0.1.0
- illuminate/console: ~5.2
- illuminate/cookie: ~5.2
- illuminate/http: ~5.2
- illuminate/routing: ~5.2
- illuminate/support: ~5.2
- illuminate/validation: ~5.2
- stormpath/sdk: ~1.14
Requires (Dev)
- laravel/lumen-framework: ~5.2
- mockery/mockery: ~0.9
- phpunit/phpunit: ~4.0
Replaces
- stormpath/laravel-auth: 0.1.8
This package is not auto-updated.
Last update: 2020-01-24 16:16:23 UTC
README
入门
按照以下步骤将 Stormpath 用户身份验证添加到您的 Lumen 应用程序中。
- 下载密钥文件
- 将密钥存储为环境变量
打开您的密钥文件,获取 API Key ID 和 API Key Secret,然后将其添加到项目根目录下的 .env
文件中
如果您是首次安装 lumen,您可能需要创建一个
.env
文件。
STORMPATH_CLIENT_APIKEY_ID=<YOUR-ID-HERE> STORMPATH_CLIENT_APIKEY_SECRET=<YOUR-SECRET-HERE>
- 获取您的 Stormpath 应用程序 HREF
登录到 Stormpath 控制台 并获取您的 Application 的 HREF(在 UI 中称为 REST URL)。它应该看起来像这样
https://api.stormpath.com/v1/applications/q42unYAj6PDLxth9xKXdL
- 将 Stormpath App HREF 存储在
.env
文件中
STORMPATH_APPLICATION_HREF=<YOUR-STORMPATH-APP-HREF>
- 安装包
打开您的 composer.json 文件,并将以下内容添加到您的 require 块中
"stormpath/lumen": "^0.1"
-
在您的应用程序中包含它
打开您的
bootstrap/app.php
文件,并将以下内容添加到您的 providers 部分
$app->register(\Stormpath\Lumen\Support\StormpathServiceProvider::class);
- 配置它
要修改包的配置,您需要发布配置文件。在您的终端中运行以下命令
$ php artisan stormpath:config
这将在项目根目录中创建一个 stormpath.yaml
文件,其中包含您可以修改的所有选项。默认情况下,将启用登录、注销、OAuth 和注册路由。其他路由将根据您的目录设置启用。
- 登录
在处理 API 时,我们建议您使用 OAuth 令牌。我们为您创建了一个路由 /oauth/tokens
,您可以在其中进行 client_credentials
、password
或 refresh
授权类型。
- 客户端凭证
在这个工作流程中,为 stormpath 帐户提供了一个 API 密钥和密钥。这些凭据可以通过向 Web 应用程序的 /oauth/token
发送 POST 请求来交换访问令牌。请求必须如下所示
POST /oauth/token
Authorization: Basic <base64UrlEncoded(apiKeyId:apiKeySecret)>
grant_type=client_credentials
- 密码授权
在这个工作流程中,一个帐户可以将他们的登录信息(用户名或电子邮件)和密码发布到 `/oauth/token` 端点,以下为正文数据
POST /oauth/token
grant_type=password
&username=<username>
&password=<password>
- 刷新授权
刷新授权类型对于使用密码授权类型来刷新其 access_token 的客户端是必需的。因此,它自动与密码授权类型一起启用。
一个帐户可以使用以下正文数据发布他们的 refresh_token
POST /oauth/token
grant_type=refresh_token&
refresh_token=<refresh token>
令牌管理的产品指南:http://docs.stormpath.com/guides/token-management
-
注册
要获取注册表单的模型,请向
/register
发送GET
请求。这将返回表单的 JSON 表示形式以及可用的 Account Stores。{ "form": { "fields": [ { "enabled": true, "label": "First Name", "placeholder": "First Name", "required": true, "type": "text" }, { "enabled": true, "label": "Last Name", "placeholder": "Last Name", "required": true, "type": "text" }, ... ] }, "accountStores": [ { "href": "https://api.stormpath.com/v1/directories/6t1orcyGhqLvObgvsohdYu", "name": "Test Directory", "provider": { "href": "https://api.stormpath.com/v1/directories/6t1orcyGhqLvObgvsohdYu/provider", "providerId": "stormpath" } } ] }
当您想注册一个新帐户时,请从表单模型中获取用户数据并将其放入发送到
/register
端点的 POST 请求的正文。 -
这就完了!
您已使用 Stormpath 将用户身份验证添加到应用程序中。
支持
如果您在使用此软件包时遇到问题,请随时在GitHub仓库中提交问题。如果您遇到的问题需要更多私人关注,请随时通过 support@stormpath.com 联系我们或访问我们的 支持中心。
贡献
我们欢迎任何人为此项目做出贡献。只需在此仓库的 develop
分支上进行分支,进行您的更改,然后在 develop
分支上发起拉取请求。
您发起的任何拉取请求都需要有相关测试。如果没有提供测试,该拉取请求将被自动关闭。另外,对除 develop
分支之外的分支发起的拉取请求将被关闭,您需要重新提交到 develop
分支。
我们定期维护此仓库,并快速审查拉取请求和接受更改!
版权
版权所有 © 2013-2016 Stormpath, Inc. 及贡献者。
本项目通过 Apache 2.0 许可证 开源。