<commit_before>msgid ""
msgstr ""
"Project-Id-Version: keycloak-documentation-i18n\n"
"POT-Creation-Date: 2017-09-21 04:04+0000\n"
"PO-Revision-Date: 2017-09-21 00:27-0400\n"
"Last-Translator: wadahiro <<EMAIL>>\n"
"Language-Team: Japanese\n"
"Language: ja_JP\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: crowdin.com\n"
"X-Crowdin-Project: keycloak-documentation-i18n\n"
"X-Crowdin-Language: ja\n"
"X-Crowdin-File: /develop/i18n/po/ja_JP/securing_apps__topics__oidc__nodejs-adapter.ja_JP.po\n"

#. type: Plain text
msgid "ifeval::[{project_community}==true]"
msgstr ""

#. type: Plain text
msgid "endif::[]"
msgstr ""

#. type: Title ====
#| msgid "Installation Tab"
msgid "Installation"
msgstr ""

#. type: Title ===
#, no-wrap
msgid "Node.js Adapter"
msgstr ""

#. type: Plain text
msgid "{project_name} provides a Node.js adapter built on top of https://github.com/senchalabs/connect[Connect] to protect server-side JavaScript apps — the goal was to be flexible enough to integrate with frameworks like https://expressjs.com/[Express.js]."
msgstr ""

#. type: Plain text
msgid "ifeval::[{project_community}==true] The library can be downloaded directly from https://www.npmjs.com/package/keycloak-connect[ {project_name} organization] and the source is available at https://github.com/keycloak/keycloak-nodejs-connect[GitHub].  endif::[]"
msgstr ""

#. type: Plain text
msgid "To use the Node.js adapter, first you must create a client for your application in the {project_name} Administration Console. The adapter supports public, confidential, and bearer-only access type. Which one to choose depends on the use-case scenario."
msgstr ""

#. type: Plain text
msgid "Once the client is created click the `Installation` tab, select `{project_name} OIDC JSON` for `Format Option`, and then click `Download`. The downloaded `keycloak.json` file should be at the root folder of your project."
msgstr ""

#. type: Plain text
msgid "Assuming you've already installed https://nodejs.org[Node.js], create a folder for your application:"
msgstr ""

#. type: Plain text
#, no-wrap
msgid "    mkdir myapp && cd myapp\n"
msgstr ""

#. type: Plain text
msgid "Use `npm init` command to create a `package.json` for your application. Now add the {project_name} connect adapter in the dependencies list:"
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "    \"dependencies\": {\n"
"        \"keycloak-connect\": \"{project_versionNpm}\"\n"
"    }\n"
msgstr ""

#. type: Plain text
#| msgid "ifeval::[{project_community}==true]"
msgid "ifeval::[{project_product}==true]"
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "    \"dependencies\": {\n"
"        \"keycloak-connect\": \"file:keycloak-connect-{project_versionNpm}.tgz\"\n"
"    }\n"
msgstr ""

#. type: Title ====
#, no-wrap
msgid "Usage"
msgstr ""

#. type: Labeled list
#, no-wrap
msgid "Instantiate a Keycloak class"
msgstr ""

#. type: Plain text
msgid "The `Keycloak` class provides a central point for configuration and integration with your application.  The simplest creation involves no arguments."
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "    var session = require('express-session');\n"
"    var Keycloak = require('keycloak-connect');\n"
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "    var memoryStore = new session.MemoryStore();\n"
"    var keycloak = new Keycloak({ store: memoryStore });\n"
msgstr ""

#. type: Plain text
msgid "By default, this will locate a file named `keycloak.json` alongside the main executable of your application to initialize keycloak-specific settings (public key, realm name, various URLs).  The `keycloak.json` file is obtained from the {project_name} Admin Console."
msgstr ""

#. type: Plain text
msgid "Instantiation with this method results in all of the reasonable defaults being used. As alternative, it's also possible to provide a configuration object, rather than the `keycloak.json` file:"
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "    let kcConfig = {\n"
"    clientId: 'myclient',\n"
"    bearerOnly: true,\n"
"    serverUrl: 'http://localhost:8080/auth',\n"
"    realm: 'myrealm',\n"
"    realmPublicKey: '<KEY>'\n"
"};\n"
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "let keycloak = new Keycloak({ store: memoryStore }, kcConfig);\n"
msgstr ""

#. type: Labeled list
#| msgid "Configuring the Subsystem"
msgid "Configuring a web session store"
msgstr ""

#. type: Plain text
msgid "If you want to use web sessions to manage server-side state for authentication, you need to initialize the `Keycloak(...)` with at least a `store` parameter, passing in the actual session store that `express-session` is using."
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "    var session = require('express-session');\n"
"    var memoryStore = new session.MemoryStore();\n"
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "    var keycloak = new Keycloak({ store: memoryStore });\n"
msgstr ""

#. type: Labeled list
#, no-wrap
msgid "Passing a custom scope value"
msgstr ""

#. type: Plain text
msgid "By default, the scope value `openid` is passed as a query parameter to {project_name}'s login URL, but you can add an additional custom value:"
msgstr ""

#. type: Plain text
#, no-wrap
msgid "    var keycloak = new Keycloak({ scope: 'offline_access' });\n"
msgstr ""

#. type: Title ====
#| msgid "Installing the Server"
msgid "Installing Middleware"
msgstr ""

#. type: Plain text
msgid "Once instantiated, install the middleware into your connect-capable app:"
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "    var app = express();\n"
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "    app.use( keycloak.middleware() );\n"
msgstr ""

#. type: Title ====
#, no-wrap
msgid "Protecting Resources"
msgstr ""

#. type: Labeled list
#, no-wrap
msgid "Simple authentication"
msgstr ""

#. type: Plain text
msgid "To enforce that an user must be authenticated before accessing a resource, simply use a no-argument version of `keycloak.protect()`:"
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "    app.get( '/complain', keycloak.protect(), complaintHandler );\n"
msgstr ""

#. type: Labeled list
#, no-wrap
msgid "Role-based authorization"
msgstr ""

#. type: Plain text
msgid "To secure a resource with an application role for the current app:"
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "    app.get( '/special', keycloak.protect('special'), specialHandler );\n"
msgstr ""

#. type: Plain text
msgid "To secure a resource with an application role for a *different* app:"
msgstr ""

#. type: Plain text
#, no-wrap
msgid "    app.get( '/extra-special', keycloak.protect('other-app:special', extraSpecialHandler );\n"
msgstr ""

#. type: Plain text
msgid "To secure a resource with a realm role:"
msgstr ""

#. type: Plain text
#, no-wrap
msgid "    app.get( '/admin', keycloak.protect( 'realm:admin' ), adminHandler );\n"
msgstr ""

#. type: Labeled list
#, no-wrap
msgid "Advanced authorization"
msgstr ""

#. type: Plain text
msgid "To secure resources based on parts of the URL itself, assuming a role exists for each section:"
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "    function protectBySection(token, request) {\n"
"      return token.hasRole( request.params.section );\n"
"    }\n"
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "    app.get( '/:section/:page', keycloak.protect( protectBySection ), sectionHandler );\n"
msgstr ""

#. type: Title ====
#, no-wrap
msgid "Additional URLs"
msgstr ""

#. type: Labeled list
#, no-wrap
msgid "Explicit user-triggered logout"
msgstr ""

#. type: Plain text
msgid "By default, the middleware catches calls to `/logout` to send the user through a {project_name}-centric logout workflow. This can be changed by specifying a `logout` configuration parameter to the `middleware()` call:"
msgstr ""

#. type: Plain text
#, no-wrap
msgid "    app.use( keycloak.middleware( { logout: '/logoff' } ));\n"
msgstr ""

#. type: Plain text
msgid "{project_name} Admin Callbacks::"
msgstr ""

#. type: Plain text
msgid "Also, the middleware supports callbacks from the {project_name} console to log out a single session or all sessions.  By default, these type of admin callbacks occur relative to the root URL of `/` but can be changed by providing an `admin` parameter to the `middleware()` call:"
msgstr ""

#. type: Plain text
#, no-wrap
msgid "    app.use( keycloak.middleware( { admin: '/callbacks' } );\n"
msgstr ""

<commit_msg>New translations securing_apps__topics__oidc__nodejs-adapter.ja_JP.po (Japanese)<commit_after>msgid ""
msgstr ""
"Project-Id-Version: keycloak-documentation-i18n\n"
"PO-Revision-Date: 2017-10-11 00:36-0400\n"
"Last-Translator: wadahiro <<EMAIL>>\n"
"Language-Team: Japanese\n"
"Language: ja_JP\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: crowdin.com\n"
"X-Crowdin-Project: keycloak-documentation-i18n\n"
"X-Crowdin-Language: ja\n"
"X-Crowdin-File: /develop/i18n/po/ja_JP/securing_apps__topics__oidc__nodejs-adapter.ja_JP.po\n"

#. type: Title ====
#, no-wrap
msgid "Installation"
msgstr ""

#. type: Title ===
#, no-wrap
msgid "Node.js Adapter"
msgstr ""

#. type: Plain text
msgid "{project_name} provides a Node.js adapter built on top of https://github.com/senchalabs/connect[Connect] to protect server-side JavaScript apps — the goal was to be flexible enough to integrate with frameworks like https://expressjs.com/[Express.js]."
msgstr ""

#. type: Plain text
msgid "The library can be downloaded directly from https://www.npmjs.com/package/keycloak-connect[ {project_name} organization] and the source is available at https://github.com/keycloak/keycloak-nodejs-connect[GitHub]."
msgstr ""

#. type: Plain text
msgid "To use the Node.js adapter, first you must create a client for your application in the {project_name} Administration Console. The adapter supports public, confidential, and bearer-only access type. Which one to choose depends on the use-case scenario."
msgstr ""

#. type: Plain text
msgid "Once the client is created click the `Installation` tab, select `{project_name} OIDC JSON` for `Format Option`, and then click `Download`. The downloaded `keycloak.json` file should be at the root folder of your project."
msgstr ""

#. type: Plain text
msgid "Assuming you've already installed https://nodejs.org[Node.js], create a folder for your application:"
msgstr ""

#. type: Plain text
#, no-wrap
msgid "    mkdir myapp && cd myapp\n"
msgstr ""

#. type: Plain text
msgid "Use `npm init` command to create a `package.json` for your application. Now add the {project_name} connect adapter in the dependencies list:"
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "    \"dependencies\": {\n"
"        \"keycloak-connect\": \"{project_versionNpm}\"\n"
"    }\n"
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "    \"dependencies\": {\n"
"        \"keycloak-connect\": \"file:keycloak-connect-{project_versionNpm}.tgz\"\n"
"    }\n"
msgstr ""

#. type: Title ====
#, no-wrap
msgid "Usage"
msgstr ""

#. type: Labeled list
#, no-wrap
msgid "Instantiate a Keycloak class"
msgstr ""

#. type: Plain text
msgid "The `Keycloak` class provides a central point for configuration and integration with your application.  The simplest creation involves no arguments."
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "    var session = require('express-session');\n"
"    var Keycloak = require('keycloak-connect');\n"
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "    var memoryStore = new session.MemoryStore();\n"
"    var keycloak = new Keycloak({ store: memoryStore });\n"
msgstr ""

#. type: Plain text
msgid "By default, this will locate a file named `keycloak.json` alongside the main executable of your application to initialize keycloak-specific settings (public key, realm name, various URLs).  The `keycloak.json` file is obtained from the {project_name} Admin Console."
msgstr ""

#. type: Plain text
msgid "Instantiation with this method results in all of the reasonable defaults being used. As alternative, it's also possible to provide a configuration object, rather than the `keycloak.json` file:"
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "    let kcConfig = {\n"
"    clientId: 'myclient',\n"
"    bearerOnly: true,\n"
"    serverUrl: 'http://localhost:8080/auth',\n"
"    realm: 'myrealm',\n"
"    realmPublicKey: '<KEY>...'\n"
"};\n"
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "let keycloak = new Keycloak({ store: memoryStore }, kcConfig);\n"
msgstr ""

#. type: Labeled list
#, no-wrap
msgid "Configuring a web session store"
msgstr ""

#. type: Plain text
msgid "If you want to use web sessions to manage server-side state for authentication, you need to initialize the `Keycloak(...)` with at least a `store` parameter, passing in the actual session store that `express-session` is using."
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "    var session = require('express-session');\n"
"    var memoryStore = new session.MemoryStore();\n"
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "    var keycloak = new Keycloak({ store: memoryStore });\n"
msgstr ""

#. type: Labeled list
#, no-wrap
msgid "Passing a custom scope value"
msgstr ""

#. type: Plain text
msgid "By default, the scope value `openid` is passed as a query parameter to {project_name}'s login URL, but you can add an additional custom value:"
msgstr ""

#. type: Plain text
#, no-wrap
msgid "    var keycloak = new Keycloak({ scope: 'offline_access' });\n"
msgstr ""

#. type: Title ====
#, no-wrap
msgid "Installing Middleware"
msgstr ""

#. type: Plain text
msgid "Once instantiated, install the middleware into your connect-capable app:"
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "    var app = express();\n"
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "    app.use( keycloak.middleware() );\n"
msgstr ""

#. type: Title ====
#, no-wrap
msgid "Protecting Resources"
msgstr ""

#. type: Labeled list
#, no-wrap
msgid "Simple authentication"
msgstr ""

#. type: Plain text
msgid "To enforce that an user must be authenticated before accessing a resource, simply use a no-argument version of `keycloak.protect()`:"
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "    app.get( '/complain', keycloak.protect(), complaintHandler );\n"
msgstr ""

#. type: Labeled list
#, no-wrap
msgid "Role-based authorization"
msgstr ""

#. type: Plain text
msgid "To secure a resource with an application role for the current app:"
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "    app.get( '/special', keycloak.protect('special'), specialHandler );\n"
msgstr ""

#. type: Plain text
msgid "To secure a resource with an application role for a *different* app:"
msgstr ""

#. type: Plain text
#, no-wrap
msgid "    app.get( '/extra-special', keycloak.protect('other-app:special', extraSpecialHandler );\n"
msgstr ""

#. type: Plain text
msgid "To secure a resource with a realm role:"
msgstr ""

#. type: Plain text
#, no-wrap
msgid "    app.get( '/admin', keycloak.protect( 'realm:admin' ), adminHandler );\n"
msgstr ""

#. type: Labeled list
#, no-wrap
msgid "Advanced authorization"
msgstr ""

#. type: Plain text
msgid "To secure resources based on parts of the URL itself, assuming a role exists for each section:"
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "    function protectBySection(token, request) {\n"
"      return token.hasRole( request.params.section );\n"
"    }\n"
msgstr ""

#. type: delimited block -
#, no-wrap
msgid "    app.get( '/:section/:page', keycloak.protect( protectBySection ), sectionHandler );\n"
msgstr ""

#. type: Title ====
#, no-wrap
msgid "Additional URLs"
msgstr ""

#. type: Labeled list
#, no-wrap
msgid "Explicit user-triggered logout"
msgstr ""

#. type: Plain text
msgid "By default, the middleware catches calls to `/logout` to send the user through a {project_name}-centric logout workflow. This can be changed by specifying a `logout` configuration parameter to the `middleware()` call:"
msgstr ""

#. type: Plain text
#, no-wrap
msgid "    app.use( keycloak.middleware( { logout: '/logoff' } ));\n"
msgstr ""

#. type: Plain text
msgid "{project_name} Admin Callbacks::"
msgstr ""

#. type: Plain text
msgid "Also, the middleware supports callbacks from the {project_name} console to log out a single session or all sessions.  By default, these type of admin callbacks occur relative to the root URL of `/` but can be changed by providing an `admin` parameter to the `middleware()` call:"
msgstr ""

#. type: Plain text
#, no-wrap
msgid "    app.use( keycloak.middleware( { admin: '/callbacks' } );\n"
msgstr ""


{'fraction_non_alphanumeric': 0.13887738806411545, 'fraction_numerical': 0.0047317679067841725, 'mean_word_length': 4.134527786213179, 'pattern_counts': {'":': 8, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 10, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5325610', 'n_tokens_mistral': 5916, 'n_tokens_neox': 5179, 'n_words': 1894}