dify生成的应用发布后添加用户登录 日期:2025-03-27 人气:11 dify生成的应用可以直接发布,发布后没有用户登录逻辑,如果添加用户登录授权等功能需要进行二次开发,[见文档](https://docs.dify.ai/zh-hans/guides/application-publishing/based-on-frontend-templates) 这里我使用[对话型应用](https://github.com/langgenius/webapp-conversation)进行二次开发,这个demo是基于Next.js框架的,需要有一定的react基础才能进行二次开发。 登录github拉一个分支到自己的账号下面,如下图:  克隆项目到本地 下面我以一个chatflow类型的应用为例说明如何添加授权 - dify后台中编辑应用在开始结点添加一个必填的输入变量access_token,用来存储用户登录之后的授权  - 后面流程定义完毕之后发布 - 在应用预览页面获取app_id,app_key,base_url - 进入上一步拉下来的项目在根目录增加一个文件`.env.local`,更改里面的配置值如上 ``` # APP ID: This is the unique identifier for your app. You can find it in the app's detail page URL. # For example, in the URL `https://cloud.dify.ai/app/xxx/workflow`, the value `xxx` is your APP ID. NEXT_PUBLIC_APP_ID=4dba5b85-e551-43df-aa42-c27abbeb616e # APP API Key: This is the key used to authenticate your app's API requests. # You can generate it on the app's "API Access" page by clicking the "API Key" button in the top-right corner. NEXT_PUBLIC_APP_KEY=app-Acwm75YaO6xqxcxa3rNjRapA # APP URL: This is the API's base URL. If you're using the Dify cloud service, set it to: https://api.dify.ai/v1. NEXT_PUBLIC_API_URL=http://localhost/v1 ``` 到这一步项目应该可以正常运行了,下面介绍二次开发需要改代码 - 在主页面中增加一个授权变量和登录成功之后的回调  - 页面初始化时判断一下,如果已经登录就不显示登录框  - 写一个登录组件,登录成功后将access_token存储到localStorage中 >这里的登录是登录到你自己的后端业务系统,不是dify的管理后台  - 主页面添加登录组件  这一步完成之后应该会出现登录页面,并且成功登录后会拿到access_token,下面要做的就是使用这个access_token发起请求 - 更改servcie/base.ts文件,在通用请求头中添加Token,这个根据你后端项目来更改,我的后端使用header中的token来识别access >这样做的目的是访问自己的业务系统,添加鉴权 ``` const baseOptions = { method: 'GET', mode: 'cors', credentials: 'include', // always send cookies、HTTP Basic authentication. headers: new Headers({ 'Content-Type': ContentType.json, 'App-Key': 'MhhM_/:m', 'Token': localStorage.getItem('access_token') + '' }), redirect: 'follow', } ``` - 继续更改主页面,点击聊天输入框提交按钮提交消息之前添加一个access_token参数,这个参数就是我们在dify后台创建应用时第一个结点中的输入参数access_token。这其实是设置dify发送消息接口的inputs参数,如果有其他的参数需要传都可以在这里设置 >这样做的目的是将授权参数传给dify生成的应用,这样就可以在chatflow中使用了  - 最后就可以在dify后台编排应用的时候使用了  标签: dify chatflow 上一篇:mysql权限管理命令 下一篇:dify chatflow http请求结点localhost报错 随便看看 2026-01-08 如何使用mvn命令导入依赖 2026-01-07 mysql权限管理命令 2025-12-30 哎和唉的区别在哪 2025-12-30 印章小知识——各部分名称 2025-12-15 明初大移民的影响 留言