arckinteractive/elgg_oauth_sso
Composer 安装命令:
composer require arckinteractive/elgg_oauth_sso
包简介
Allows other sites/services to implement SSO using the Elgg as the source of truth for user info
README 文档
README
Allows other sites to use the elgg server as an oauth identity manager
- Register a new application at
/admin/applications - Authorize the user by having them log in at
[url]/oauth/authorize?client_id=xxxxxxxx&state=xxxxxxxx&response_type=code&scope=userwhere client_id is the generated id of the application, and the state is a random string to prevent CSRF attacks - The user will log in if necessary and authorize the application
- The user will be redirected back to the redirect_uri with the original state in a query param and a code:
[redirect_uri]?state=xxxxxx&code=xxxxxxxx - Make a POST request to
/oauth/tokenwith body params of
{
client_id: xxxxxxxx,
client_secret: xxxxxxx,
grant_type: 'authorization_code',
redirect_uri: 'https://xxxxxxxxxxxxx',
code: xxxxxxxxxx
}
- The result will be an access token
{
"access_token": "369e27dae447d3856fc538a217536b186cea1bc3",
"expires_in": 3600,
"token_type": "Bearer",
"scope": "user",
"refresh_token": "3c706473a576815c503a119626d674331becc4c8"
}
- The access token in the header:
Authorization: Bearer 369e27dae447d3856fc538a217536b186cea1bc3for future OAuth api calls - Retrieve the user info from the GET endpoint
/oauth/api/me
{
"name": "Matt Beckett",
"username": "mbeckett",
"email": "matt@arckinteractive.com"
}
- Use the refresh token to get a fresh access token if necessary, make a POST request to
/oauth/tokenwith body params of
{
client_id: xxxxxxxx,
client_secret: xxxxxxx,
grant_type: 'refresh_token',
refresh_token: xxxxxxxxxx
}
统计信息
- 总下载量: 11
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 2
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2020-06-11