OpenID Connect 1.0 の仕様に準拠します。
        ネイティブアプリケーションはこちらの認証方法を使用してください。
        
          OpenID Connect Basic Client Implementer’s Guide 1.0
        
      
 
      
        Webサイト上のJavascriptからの接続の場合こちらの認証方法を使用してください。
        
          OpenID Connect Implicit Client Implementer’s Guide 1.0
        
        例):   http://address-stg.fudemame.jp/static/test_oidc.html
      
Request
GET /api/authorize?response_type=code&client_id=[CLIENT ID]&redirect_uri=https%3A%2F%2Fclient.example.org%2Fcb
...
| パラメータ名 | 説明 | 例 | 
|---|---|---|
| response_type | 値は必ず’code’とする。これによりリダイレクトURIに認可コードが返される | code | 
| client_id | 弊社指定のクライアントID | address.fudemame.co.jp | 
| redirect_uri | ここで指定したURLに認可コードが返される | https://client.example.org/cb | 
        Reference
        
          http://openid-foundation-japan.github.io/openid-connect-basic-1_0.ja.html#AuthenticationRequest
        
        
          http://openid-foundation-japan.github.io/openid-connect-basic-1_0.ja.html#RequestParameters
        
      
Request
POST /api/token
...
| パラメータ名 | 説明 | 例 | 
|---|---|---|
| code | /api/authorizeのredirect urlリダイレクトURIに返される認可コードを指定する | |
| client_id | 弊社指定のクライアントID | address.fudemame.co.jp | 
| client_secret | 弊社指定の秘密鍵 | |
| grant_type | 値は必ず’authorization_code’とする。これによりアクセストークンが取得できる | authorization_code | 
Response
HTTP/1.1 200 OK
...
{
    "access_token":"SlAV32hkKG",
    "refresh_token": "tGzv3JOkF0XG5Qx2TlKWIA",
    "expires_in": 3600,
    "id_token": "eyJ0 ... NiJ9.eyJ1c ... I6IjIifX0.DeWt4Qu ... ZXso"
}
| 項目名 | 説明 | 
|---|---|
| val.access_token | リソースAPIを使用するために必要なトークン。1時間程度の有効期限を持つ | 
| val.refresh_token | アクセストークンの有効期限が切れた場合このトークンを用いてアクセストークンの再発行を行う。この場合エンドユーザによる認可を省略することができる。数カ月程度の有効期限を持つ | 
| val.expires_in | アクセストークンが生成されてから期限切れになるまでの秒数 | 
| val.id_token | ユーザ認証情報を含む改ざん検知用の署名付きトークン。ユーザセッション管理は必ずこのトークンに含まれる認証情報を用いること。1時間程度の有効期限を持つ | 
        Reference
        
          http://openid-foundation-japan.github.io/openid-connect-basic-1_0.ja.html#TokenRequest
        
        
          http://openid-foundation-japan.github.io/openid-connect-basic-1_0.ja.html#TokenOK
        
      
        IDトークンの検証(デコード)を行う(補助的なAPI。可能であればこのAPIは使用せず、アプリ側で検証をすること)
        Request
      
GET /api/checktoken?id_token=[IDトークン]
Authorization: Bearer ACCESS_TOKEN
...
| パラメータ名 | 説明 | 例 | 
|---|---|---|
| id_token | 検証するIDトークンを指定 | /api/checktoken?id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJI | 
| callback [任意] | JSONP使用する場合コールバック関数名を指定します | /api/checktoken?callback=func_name | 
Response
HTTP/1.1 200 OK
...
{
    "iss": "https://account.fudemame.jp",
    "sub": "AAz5XJcjitOEm7gDMu+SEhIZKAcXCsLdmyYLxciABrLh",
    "aud": "testapp.jp",
    "iat": "2014-06-02T02:47:45.808057Z",
    "exp": "2014-06-02T03:47:45.808057Z"
}
| 項目名 | 説明 | 
|---|---|
| val.iss | IDトークンの発行元 | 
| val.sub | ユーザID | 
| val.aud | IDトークン発行対象のアプリケーションID | 
| val.iat | 発行時刻 | 
| val.exp | 有効期限 | 
        ユーザプロフィールの取得
        Permission(Scope): profile
      
Request
GET /api/profile
      Authorization: Bearer ACCESS_TOKEN
      ...
| パラメータ名 | 説明 | 例” | 
|---|---|---|
| callback [任意] | JSONP使用する場合コールバック関数名を指定します | /api/profile?callback=func_name | 
Response
HTTP/1.1 200 OK
...
{
    "user_id": "APTf2KXrws6pIblaeDQnlZgJu0sBiH0Vd6XZbjxvmHfb",
    "email": "test@test.com",
    "username": "User Name",
    "companyname": "Company Name"
}
| 項目名 | 説明 | 
|---|---|
| val.user_id | ユーザID | 
| val.email | メールアドレス | 
| val.username | ユーザ名 | 
| val.companyname | 会社名 | 
サーバ情報の取得
Request
GET /api/info
Authorization: Bearer ACCESS_TOKEN
...
| パラメータ名 | 説明 | 例 | 
|---|---|---|
| callback [任意] | JSONP使用する場合コールバック関数名を指定します | /api/profile?callback=func_name | 
Response
HTTP/1.1 200 OK
...
{
    "now": "2014-11-11T04:15:57.998859Z"
}
| 項目名 | 説明 | 
|---|---|
| val.now | サーバの現在時刻 |