Skip to content

Instantly share code, notes, and snippets.

@ritou
ritou / passkey_works.md
Created October 20, 2023 05:12
ぱすきーっちゅーの!
すきっちゅーの!
ぱすきーっちゅーの!
好きになっちゃダメっつーの?
すきっちゅーの!
ぱすきっちゅーの!
パスワードとかいらんちゅーのchu!

顔だ!指紋だ!という貴方
面と向かってそれ言えます?
@ritou
ritou / gist:3149557
Created July 20, 2012 08:21
OpenID Connect Session Management Demo
@ritou
ritou / cookiesync.md
Last active April 14, 2023 12:45
Cookie Syncについてのメモ

Cookie Syncの調査メモ

RTB周りで使われているというCookie Syncについて興味がわいたので調べてみる。

http://www.scaleout.jp/26992/

DMP-DSP間

Quoraから。

@ritou
ritou / signatureverification.php
Created October 19, 2012 10:27
ID Token Verification using JWK URL and x509 URL
# preparation
## OpenID Connect library(use only http client)
$ pear install openpear/Akita_OpenIDConnect-alpha
## RSA Crypt and X.509 handling library
$ pear channel-discover phpseclib.sourceforge.net
$ pear install phpseclib/Crypt_RSA
$ pear install phpseclib/File_X509
# PHP Source
$ cat signatureverification.php
@ritou
ritou / sample_validation.txt
Created September 13, 2011 17:41
ID Token signature validation
$ cat test.php
<?php
function base64_urlencode($str){
$enc = base64_encode($str);
$enc = rtrim($enc,"=");
$enc = strtr($enc,"+/","-_");
return $enc;
}
  1. HTTP Client module
  defmodule Your.HttpClient do
    @behaviour Scratcher.HttpClient
    def request(method, url, body, headers, http_opts) do

      # use hackney, httpoison, httpotion...

 {:ok, %{status_code: 200, body: "..."}}
iex(1)> Application.ensure_all_started(:hackney)
{:ok,
 [:unicode_util_compat, :idna, :mimerl, :certifi, :syntax_tools, :parse_trans,
  :ssl_verify_fun, :metrics, :hackney]}
  
iex(2)> :hackney.request(:get, "https://example.com", [], "", [:with_body])
{:ok, 200,
 [
   {"Accept-Ranges", "bytes"},
iex(1)> JOSE.crypto_fallback(true)
:ok
iex(2)> JOSE.JWK.generate_key({:okp, :Ed25519})
%JOSE.JWK{
  fields: %{},
  keys: :undefined,
  kty: {:jose_jwk_kty_okp_ed25519,
   <<162, 30, 40, 233, 122, 159, 105, 49, 218, 101, 29, 205, 178, 236, 20, 132,
     14, 29, 119, 147, 44, 162, 49, 141, 96, 128, 117, 109, 21, 56, 64, 160, 4,

OAuth 2.0のプロトコルでソーシャルログイン的なことを実現するための独自Profile案

何の話か

  • モバイルアプリのバックエンドサーバーがOAuth 2.0のEndpointを持ってて、Access Tokenを発行してアプリのセッション代わりに使う
  • バックエンドサーバーがOAuth Server、モバイルアプリがOAuth Client
  • モバイルアプリがソーシャルログインやりたい
  • SNSからすると(モバイルアプリ + バックエンドサーバー)全体がOAuth Client
  • SNSから受け取るものは、AuthZ CodeとかAccess TokenとかID Tokenとかけっこうバラバラ
  • バックエンドサーバーとしてはそれらを受けとって、Access Tokenを返す、汎用的なToken Endpointのgrant_typeが欲しい