---
title: "授权"

doc_type: static
doc_category: static
doc_version: v20260901
source_url:
  html: 'https://developer.shopline.com/zh-hans-cn/docs/apps/development-tool/app-bridge/actions/authorization'
  md: 'https://developer.shopline.com/zh-hans-cn/docs/apps/development-tool/app-bridge/actions/authorization.md'
---
# 授权

当应用需要访问商家店铺数据时，必须先获得商家的授权。由于应用运行在 iframe 内嵌环境中，如果通过服务端重定向到授权页面，会导致授权页面也被嵌套在 iframe 中，从而引发显示异常或加载失败。

因此，强烈建议使用 App Bridge 提供的 Oauth 方法在前端发起授权请求，该方法会在父窗口中打开授权页面，避免 iframe 嵌套问题。

## 使用

当商家安装应用时，调用以下代码引导商家跳转到 SHOPLINE 授权页面：

```javascript
import Client, { Oauth, shared } from '@shoplineos/app-bridge';

const appKey = 'your-app-key', // 应用 Key

// 初始化 App Bridge
const app = Client.createApp({
  appKey,
  host: shared.getHost(),
});

// 发起授权请求
Oauth.create(app).invoke({
  scope: 'read_products,read_orders', // 需要申请的权限
  appKey,
  redirectUri: 'https://your-app.com/callback', // 授权回调地址
});
```

## 参数说明

| 参数        | 类型   | 说明                                                                                                                                                                                                                            | 必填 |
| ----------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- |
| scope       | string | 权限范围。申请多个权限时用 `,` 分隔，例如：`read_products,read_orders`。完整权限列表请参考 [权限点列表](https://developer.shopline.com/zh-hans-cn/docs/apps/api-instructions-for-use/access-scope.md)。                            | 是   |
| appKey      | string | 应用唯一标识，需与 [初始化](https://developer.shopline.com/zh-hans-cn/docs/apps/development-tool/app-bridge/getting-started.md#%E5%88%9D%E5%A7%8B%E5%8C%96) 时使用的 `appKey` 参数一致。                                                                                                                | 是   |
| redirectUri | string | 商家授权应用后重定向的 URL，需要与 SHOPLINE 合作伙伴后台配置的 [应用回调地址](https://developer.shopline.com/zh-hans-cn/docs/apps/application-management/creating-an-app.md#%E5%AD%97%E6%AE%B5%E5%AE%9A%E4%B9%89) 的其中一个一致。 | 是   |

## 授权流程

1. **商家请求安装应用**：商家在 SHOPLINE 应用市场发起安装。
2. **跳转到应用**：SHOPLINE 携带 `handle`、`timestamp`、`appKey` 和 `sign` 参数访问配置的应用地址。
3. **应用验证授权**：应用判断当前店铺是否已完成授权。
4. **发起授权请求**：如需授权，调用 `Oauth.create(app).invoke()` 方法。
5. **商家确认授权**：SHOPLINE 在父窗口打开授权页面，商家确认授权。
6. **回调到应用**：授权完成后，SHOPLINE 会重定向到配置的 `redirectUri`。

> **提示**
>
> 完整的 OAuth 授权流程请参考 [应用授权文档](https://developer.shopline.com/zh-hans-cn/docs/apps/api-instructions-for-use/app-authorization.md#%E7%AC%AC%E4%B8%89%E6%AD%A5app-%E8%AF%B7%E6%B1%82%E6%8E%88%E6%9D%83%E7%A0%81)。
