网站制作软件叫什么公众号 手机网站开发

张小明 2026/1/12 4:37:54
网站制作软件叫什么,公众号 手机网站开发,网站空间怎么做,桂林尚品网络科技有限公司Flutter 开发的鸿蒙AtomGit OAuth 授权应用 项目概述 这是一个基于 Flutter 开发的鸿蒙OAuth 2.0 授权应用#xff0c;用于获取 AtomGit 授权用户的个人信息。应用实现了完整的 OAuth 授权流程#xff0c;包括#xff1a; ✅ OAuth 2.0 授权码模式✅ 访问令牌获取和刷新✅…Flutter 开发的鸿蒙AtomGit OAuth 授权应用项目概述这是一个基于 Flutter 开发的鸿蒙OAuth 2.0 授权应用用于获取 AtomGit 授权用户的个人信息。应用实现了完整的 OAuth 授权流程包括✅ OAuth 2.0 授权码模式✅ 访问令牌获取和刷新✅ 用户信息获取和展示✅ 令牌本地存储和管理✅ 自动令牌刷新机制功能特性1. OAuth 授权流程使用 WebView 进行 OAuth 授权自动捕获授权回调获取访问令牌和刷新令牌2. 用户信息展示用户基本信息头像、姓名、用户名等统计信息关注者、关注中常用编程语言个人主页链接3. 令牌管理本地存储访问令牌和刷新令牌自动检测令牌过期自动刷新过期令牌退出登录功能配置步骤步骤 1创建 OAuth 应用登录 AtomGit进入设置→应用→开发者设置点击新建应用填写应用信息应用名称你的应用名称应用描述应用描述应用主页你的应用主页 URL回调地址你的重定向 URI例如myapp://oauth/callback权限范围选择需要的权限例如read:user,user:email创建完成后记录以下信息Client IDClient Secret步骤 2配置应用打开lib/services/oauth_service.dart文件修改以下配置// 这些值需要从你的 OAuth 应用配置中获取staticconstString clientIdYOUR_CLIENT_ID;// 替换为你的 Client IDstaticconstString clientSecretYOUR_CLIENT_SECRET;// 替换为你的 Client SecretstaticconstString redirectUriYOUR_REDIRECT_URI;// 替换为你的重定向 URI示例staticconstString clientIdabc123def456;staticconstString clientSecretsecret_key_here;staticconstString redirectUrimyapp://oauth/callback;步骤 3配置重定向 URIAndroid如果使用 Android 平台需要在android/app/src/main/AndroidManifest.xml中添加 Intent Filteractivityandroid:name.MainActivityandroid:exportedtrueandroid:launchModesingleTopandroid:themestyle/LaunchTheme!-- 其他配置 --!-- 添加 OAuth 回调 Intent Filter --intent-filteractionandroid:nameandroid.intent.action.VIEW/categoryandroid:nameandroid.intent.category.DEFAULT/categoryandroid:nameandroid.intent.category.BROWSABLE/dataandroid:schememyappandroid:hostoauthandroid:pathPrefix/callback//intent-filter/activity注意android:scheme和android:host需要与你的redirectUri匹配。步骤 4配置重定向 URIiOS如果使用 iOS 平台需要在ios/Runner/Info.plist中添加 URL SchemekeyCFBundleURLTypes/keyarraydictkeyCFBundleTypeRole/keystringEditor/stringkeyCFBundleURLSchemes/keyarraystringmyapp/string/array/dict/array项目结构lib/ ├── main.dart # 应用入口授权检查页面 ├── services/ │ ├── oauth_service.dart # OAuth API 服务 │ └── storage_service.dart # 本地存储服务 └── pages/ ├── oauth_page.dart # OAuth 授权页面 └── user_info_page.dart # 用户信息展示页面核心功能说明1. OAuth 授权流程// 获取授权 URLString authUrlOAuthService.getAuthorizationUrl();// 在 WebView 中打开授权页面// 用户授权后会重定向到 redirectUri并携带授权码// 使用授权码获取访问令牌OAuthToken tokenawaitOAuthService.getAccessToken(code);2. 获取用户信息// 使用访问令牌获取用户信息UserInfo userInfoawaitOAuthService.getUserInfo(accessToken);3. 刷新令牌// 当访问令牌过期时使用刷新令牌获取新的访问令牌OAuthToken newTokenawaitOAuthService.refreshAccessToken(refreshToken);4. 本地存储// 保存访问令牌awaitStorageService.saveAccessToken(token);// 获取访问令牌String?tokenawaitStorageService.getAccessToken();// 检查令牌是否过期bool isExpiredawaitStorageService.isTokenExpired();// 清除所有令牌awaitStorageService.clearTokens();API 接口说明1. 获取访问令牌接口POST https://gitcode.com/oauth/token请求参数grant_type:authorization_code获取新 token或refresh_token刷新 tokencode: 授权码获取新 token 时必填client_id: 客户端 ID获取新 token 时必填client_secret: 客户端密钥获取新 token 时在 Body 中传递refresh_token: 刷新令牌刷新 token 时必填响应示例{access_token:your_access_token,expires_in:7200,refresh_token:your_refresh_token,scope:read:user,created_at:2024-01-01T00:00:00Z}2. 获取用户信息接口GET https://api.gitcode.com/api/v5/user请求参数access_token: 访问令牌Query 参数响应示例{id:123456,login:username,name:User Name,email:userexample.com,avatar_url:https://gitcode.com/avatars/123456,bio:User bio,blog:https://blog.example.com,company:Company Name,html_url:https://gitcode.com/username,followers:100,following:50,top_languages:[Dart,JavaScript,Python]}使用流程启动应用应用会自动检查是否有有效的访问令牌如果有直接跳转到用户信息页面如果没有跳转到 OAuth 授权页面OAuth 授权在 WebView 中打开 GitCode 授权页面用户登录并授权授权成功后应用自动获取访问令牌查看用户信息自动获取并展示用户信息支持下拉刷新支持退出登录令牌管理应用会自动检测令牌是否过期如果过期会自动尝试刷新令牌如果刷新失败会提示重新授权注意事项1. 安全性⚠️不要将 Client Secret 提交到代码仓库⚠️ 建议使用环境变量或配置文件管理敏感信息⚠️ 在生产环境中考虑将 Client Secret 存储在服务器端2. 重定向 URI重定向 URI 必须与 OAuth 应用中配置的完全一致支持自定义 URL Scheme如myapp://oauth/callback也支持 HTTP/HTTPS URL需要配置相应的域名3. 令牌管理访问令牌通常有有效期如7200 秒刷新令牌的有效期通常更长建议在令牌过期前主动刷新4. 错误处理网络错误检查网络连接授权失败检查 Client ID 和 Client Secret令牌过期应用会自动尝试刷新失败后提示重新授权常见问题Q1: 授权后无法获取令牌A:检查以下几点Client ID 和 Client Secret 是否正确重定向 URI 是否与 OAuth 应用配置一致授权码是否有效授权码只能使用一次Q2: 无法获取用户信息A:检查以下几点访问令牌是否有效访问令牌是否过期是否有相应的权限范围scopeQ3: WebView 无法打开授权页面A:检查以下几点网络连接是否正常授权 URL 是否正确是否需要在 AndroidManifest.xml 中添加网络权限Q4: 令牌刷新失败A:检查以下几点刷新令牌是否有效刷新令牌是否过期如果刷新失败需要重新授权扩展功能1. 添加更多用户信息可以在UserInfo模型中添加更多字段并在getUserInfo方法中解析。2. 添加其他 API 调用参考OAuthService的实现可以添加其他 GitCode API 的调用方法。3. 改进 UI可以根据需要自定义用户信息页面的 UI 设计。4. 添加错误重试机制可以实现更完善的错误处理和重试逻辑。技术栈Flutter: 跨平台 UI 框架http: HTTP 请求库webview_flutter: WebView 组件shared_preferences: 本地存储url_launcher: URL 启动器可选参考资料AtomGit API 文档OAuth 2.0 规范Flutter 官方文档开源鸿蒙跨平台开发者社区注意这是一个示例应用用于演示 OAuth 2.0 授权流程。在生产环境中使用时请确保遵循安全最佳实践。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

国内看网站 优帮云便民类网站 做

Qwen3-32B-MLX-6bit:苹果生态AI算力突破性实战指南 【免费下载链接】Qwen3-32B-MLX-6bit 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen3-32B-MLX-6bit 随着终端设备AI应用需求爆发式增长,专为苹果芯片深度优化的MLX框架正重塑本地AI部…

张小明 2026/1/7 16:10:04 网站建设

建设个人网站流程关于网站建设方案

在数字化浪潮席卷各行各业的今天,企业面临着日益复杂的业务流程管理挑战。从电商平台的订单处理到金融系统的风险控制,从数据管道的实时处理到AI模型的训练推理,每个业务环节都需要精确的调度和协同。传统的硬编码流程控制方式不仅维护成本高…

张小明 2026/1/7 17:52:45 网站建设

网站开发课程改革typecho导入wordpress

OCRAutoScore智能阅卷系统终极使用指南 【免费下载链接】OCRAutoScore OCR自动化阅卷项目 项目地址: https://gitcode.com/gh_mirrors/oc/OCRAutoScore 在数字化教育快速发展的今天,教师批改作业和试卷的工作量依然繁重。OCRAutoScore作为一款开源的智能阅卷…

张小明 2026/1/7 2:25:57 网站建设

网站开发软件解决方案tp网站建设开源代码

Langchain-Chatchat音频转录文本问答实现路径 在企业知识管理日益复杂的今天,一个常见的痛点是:大量关键信息以非结构化形式存在——比如会议录音、培训视频、客户访谈。这些“声音”中蕴藏着宝贵的知识,却难以被检索、复用,最终沉…

张小明 2026/1/8 23:46:18 网站建设

门户网站系统架构乡镇做电器网站能不能营运

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

张小明 2026/1/7 2:28:12 网站建设

如何做招聘网站效果评估附近的代理记账公司有哪些

百度网盘Mac版下载限速突破指南:让你的网速飞起来 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在忍受百度网盘Mac客户端那令人绝望的下…

张小明 2026/1/7 3:09:08 网站建设