# OAuth と OIDC の概要と目的の違い
## OAuth 2.0 とは
OAuth は、リソースの所有者が、リソースへのアクセス権を第三者に与える仕組み。
RFC 6749 では、OAuth 2.0 を以下のように定義している:
> OAuth 2.0 は、サードパーティーアプリケーションによる HTTP サービスへの限定的なアクセスを可能にする認可フレームワークである
### 具体例:写真印刷サービス
自分の写真をオンラインアルバムサービスで管理している場合を考える。このアルバムサービスとは別の印刷サービスに写真を印刷してもらいたい場合、従来であれば印刷サービスにアルバムサービスのパスワードを教え、自分の代わりに写真にアクセスしてもらう必要があった。これは意図した範囲を超えたアクセスを許可してしまう危険な行為である。写真以外にも、メールや連絡先など、他の個人情報にまでアクセスされてしまう可能性がある。
OAuth 2.0 を使用すれば、印刷サービスに対して自分の写真を見る権限のみを与えることが実現できる。
#### アクセストークンとスコープ
具体的には、#Requires AutoHotkey v2.0
/**
* 快速启动或切换思源笔记 PWA (通用路径版)
*
* 功能:
* 1. 自动定位:使用 A_AppData 变量自动匹配当前用户的 AppData 目录。
* 2. 精准识别:排除浏览器后缀,只针对独立的 PWA 窗口操作。
* 3. 智能切换:实现“未运行则启动,已运行则激活,已激活则最小化”的一键循环。
*/
ToggleSiYuanPWA() {
; --- 配置区域 ---
; 窗口匹配特征:标题含“思源笔记”,类名为 Chromium 类
targetTitle := "思源笔记 ahk_class Chrome_WidgetWin_1"
; 排除特征:排除包含“Cent Browser”后缀的窗口(浏览器标签页)
excludeTitle := "Cent Browser"
; 动态生成快捷方式路径:
; A_AppData 指向 C:\Users\用户名\AppData\Roamin
#!/usr/bin/env bash
set -e
echo "=== New Laravel Site Setup ==="
# --- Prompts ---
read -p "GitHub repo URL (SSH or HTTPS): " REPO_URL
read -p "Domain name (example: lockedin.vip): " DOMAIN
read -p "Database name: " DB_NAME
read -p "Database user: " DB_USER
read -s -p "Database password: " DB_PASS
echo
SITE_ROOT="/var/www/$DOMAIN"
NGINX_AVAILABLE="/etc/nginx/sites-available/$DOMAIN"
NGINX_ENABLED="/etc/nginx/sites-enabled/$DOMAIN"
# --- Clone repo ---
echo "Cloning repository..."
cd ~
REPO$instanceId="i-0123456789abcdef0"; aws ssm start-session --target $instanceId --document-name AWS-StartPortForwardingSession --parameters 'localPortNumber=55678,portNumber=3389'can you tell me how to create a design development agency with the mastra.ai typescript framework, creatoing a project manager, a deep research agent, a design agent, a frontend agent, a backend agent, a qa agent and a team to help me find/onboard new clints, use nextjs for the frontend and mongodb for data perisstance, use tailwindcss for styles and shadcnui for components<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSONPlaceholder API Test</title>
<script src="https://cdn.jsdelivr.net/npm/eruda"></script>
<script>eruda.init();</script>
</head>
<body>
<button onclick="fetchPosts()">投稿を取得</button>
<div id="result"></div>
<script>
async function fetchPosts() {
try {
const response = await fetch('https://jsonplaceholder.typicode.com/posts/1');
const post = await response.
Scattered Spider (and allied group Scattered LAPSUS$ Hunters) 🌎
VERIFIED CARDER SELLING WU,BANK,PAYPAL,CASHAPP,SKRILL TRANSFER BANK LOGS,DUMPS+PIN,CLONED CARDS
Telegram: JeansonTooL SELL CCV CANADA FULLZ FRESH SSN DOB WITH DL LIVE MAIL PASSWORD OFFICE365 PAYPAL
Telegram: JeansonTooL CVV,Fullz,Dumps,PayPal Debit/Credit Card,CashApp, Western Union, Transfer,ATM Clone Cards!!
Telegram: JeansonTooL SELL CVV FULLZ INFO GOOD USA-UK-CA-AU-INTER,PASS VBV/BIN/DOB
Telegram: JeansonTooL : Sell Dumdocument.addEventListener('DOMContentLoaded', function () {
const modal = document.getElementById('tm-dialog-mobile');
const hamburgers = document.querySelectorAll('.uk-navbar-toggle');
console.log('Modal gefunden:', modal);
console.log('Hamburger-Menüs gefunden:', hamburgers);
if (!modal) {
console.error('Modal mit ID "tm-dialog-mobile" nicht gefunden!');
return;
}
if (hamburgers.length === 0) {
console.error('Keine Hamburger-Menüs mit Klasse ".uk-navbar-toggle" ge
cd into your project directory
sudo chown -R yourusername:yourusername .
sudo chown -R www-data:www-data storage bootstrap/cache
sudo chmod -R 775 storage bootstrap/cache
Laravel is owned by your deploy user (you), need to be able to edit:
git pull
composer install
npm install
npm run build
php artisan migrate
php artisan cache:clear
edit .env
Web server needs to be able to :
write logs
write cache
write compiled views
write sessions
serve files from public/
Laravel officially expects th/**
* @param {string[]} strs
* @return {number}
*/
var minDeletionSize = function(strs) {
const n = strs.length; // number of rows
const m = strs[0].length; // number of columns (all strings same length)
// dp[i] = length of the longest valid chain ending at column i
const dp = Array(m).fill(1);
// Helper: check if column j can come before column i
// This requires strs[row][j] <= strs[row][i] for EVERY row
function isValid(j, i) {
for (let row/*一、基于手写机、其他材料的 VBA 代码
优点是:同类字体的不同细节,可以更高的模拟手写情况。*/
Sub 模拟手写()
Dim R_Character As Range
'定义字体大小,随机选取以下大小,可以根据需要改写
Dim FontSize(5)
FontSize(1) = "16"
FontSize(2) = "16.2"
FontSize(3) = "16.5"
FontSize(4) = "17"
FontSize(5) = "17.2"
'定义字体名称,随机选取以下名称,可以根据需要改写
Dim FontName(7)
FontName(1) = "郑大白"
FontName(2) = "郑大风"
FontName(3) = "郑大黑"
FontName(4) = "郑大黄"
FontName(5) = "郑大绿"
FontName(6) = "郑大清"
FontName(7Sub 自适应行高()
Set Rng = Range("a1").Resize(Range("a" & Rows.Count).End(xlUp).Row,1)
Rng.Rows.AutoFit '自动行高
For Each r In Rng.Rows
r.RowHeight = r.RowHeight + 10
Next
End SubActiveWindow.SelectedSheets.PrintPreview '打印预览
ActiveSheet.PageSetup.FitToPagesTall = 1 '所有行缩放到一页
ActiveSheet.PageSetup.FitToPagesWide = 1 '所有列缩放到一页#NoEnv
#SingleInstance, Force
SendMode, Input
SetBatchLines, -1
SetWorkingDir, %A_ScriptDir%
StringCaseSense, On
AnyKeyPressedOtherThanSpace(mode = "P") {
keys = 1234567890-=qwertyuiop[]\asdfghjkl;'zxcvbnm,./
Loop, Parse, keys
{
isDown := GetKeyState(A_LoopField, mode)
if(isDown)
return True
}
return False
}
supressed := False
RestoreInput(){
BlockInput, Off
Global supressed
supressed := False
}
Supr; 将这段代码赋值到脚本最前面即可让本脚本以管理员身份运行
Loop A_Args.Length ; For each parameter:
{
param := %A_Index% ; Fetch the contents of the variable whose name is contained in A_Index.
params .= A_Space . param
}
; 在V2版本中A_IsUnicode已经被删除,默认就是Unicode
; V1版本判断代码
; ShellExecute := A_IsUnicode ? "shell32\ShellExecute":"shell32\ShellExecuteA"
ShellExecute := "shell32\ShellExecute"
if not A_IsAdmin
{
If A_IsCompiled
DllCall(ShellExecute, "uint", 0, "str", "RunAs", "str", A_ScriptFull