Rails SameSite Cookie 项目教程
1. 项目的目录结构及介绍
rails_same_site_cookie/
├── bin/
│ └── setup
├── lib/
│ └── rails_same_site_cookie/
│ ├── middleware.rb
│ └── version.rb
├── spec/
│ └── rails_same_site_cookie_spec.rb
├── CODE_OF_CONDUCT.md
├── Gemfile
├── LICENSE.txt
├── README.md
├── Rakefile
├── rails_same_site_cookie.gemspec
└── .gitignore
bin/
: 包含项目的设置脚本。lib/
: 包含项目的主要代码,包括中间件和版本信息。spec/
: 包含测试文件。CODE_OF_CONDUCT.md
: 行为准则文件。Gemfile
: 依赖管理文件。LICENSE.txt
: 许可证文件。README.md
: 项目说明文件。Rakefile
: Rake 任务文件。rails_same_site_cookie.gemspec
: 项目 gem 的规格文件。.gitignore
: Git 忽略文件。
2. 项目的启动文件介绍
项目的启动文件主要是 bin/setup
,它用于安装项目依赖:
#!/usr/bin/env bash
# 安装依赖
bundle install
# 运行测试
rake spec
3. 项目的配置文件介绍
项目的配置文件主要是 config/initializers/rails_same_site_cookie.rb
,它用于配置 SameSite=None 行为:
# config/initializers/rails_same_site_cookie.rb
RailsSameSiteCookie.configure do |config|
config.user_agent_regex = /MyCustomUserAgentString/
end
这个配置文件允许你限制 SameSite=None 行为到特定的用户代理,例如 Cordova 应用或其他客户端。