{"id":34499173,"url":"https://github.com/authing/authing-alibaba-application","last_synced_at":"2026-06-07T09:31:43.183Z","repository":{"id":49837183,"uuid":"518342900","full_name":"Authing/authing-alibaba-application","owner":"Authing","description":null,"archived":false,"fork":false,"pushed_at":"2022-07-27T06:51:24.000Z","size":57,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":7,"default_branch":"main","last_synced_at":"2023-03-01T20:25:51.667Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Authing.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-07-27T06:50:40.000Z","updated_at":"2022-07-27T06:51:29.000Z","dependencies_parsed_at":"2022-09-02T03:02:12.303Z","dependency_job_id":null,"html_url":"https://github.com/Authing/authing-alibaba-application","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/Authing/authing-alibaba-application","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Authing%2Fauthing-alibaba-application","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Authing%2Fauthing-alibaba-application/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Authing%2Fauthing-alibaba-application/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Authing%2Fauthing-alibaba-application/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Authing","download_url":"https://codeload.github.com/Authing/authing-alibaba-application/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Authing%2Fauthing-alibaba-application/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27992995,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-23T02:00:07.087Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-12-24T01:58:27.288Z","updated_at":"2025-12-24T01:58:28.749Z","avatar_url":"https://github.com/Authing.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# preparation stage\n\n## Install Node.js\n\n- Install [Node](https://nodejs.org/zh-cn/download/) according to your system environment.\n- After the installation is complete, use the node -v command to view the installed Node.js version information [version 8.x and above]:\n\n```bash\n$ node -v\nvx.x.x\n```\n\n## Install Serverless Devs\n\n- Run the command in the command line:\n\n```bash\n$ npm install @serverless-devs/s -g\n```\n\n\u003e View more [detailed information](https://github.com/Serverless-Devs/Serverless-Devs/blob/master/readme_zh.md#%E5%BF%AB%E5%85%A5%E5%AE% 89%E8%A3%85%E5%92%8C%E4%BD%BF%E7%94%A8)\n\n- After the installation is completed, you can check the Serverless Devs version through s -v.\n\n```bash\n$ s -v\n\nServerless Tool Version: *.*.*\n```\n\n## Authing\n\n1. Register or log in [Authing](https://console.authing.cn/login)\n2. Follow the prompts to create a user pool, an application, enter the application and view the application configuration\n3. Obtain in the application configuration: App ID, App Secret and authentication address\n4. Create a new user under this application\n\nPlease refer to：[Create application](https://docs.authing.cn/en/app/create.html)\n\n# Create application\n\n## Initialize the application\n\n- Execute commands on the command line\n  \u003e $ s init authing \u0026\u0026 cd authing\n\n## Change setting\n\n- Edit template.yaml\n\n  \u003e View more [Configuration Information](https://github.com/Serverless-Devs-Awesome/fc-alibaba-component/blob/master/readme_zh.md#%E5%8F%82%E6%95%B0% E8%AF%A6%E6%83%85)\n\n- Copy authing.yml.template as **authing.yml**, then edit **authing.yml**\n\n```\noidc:\n  issuer: issuer address\n  client_id: application ID\n  client_secret: application secret\n  flow: optional value is code or implicit\n  redirect_uri: default callback address\n  refresh_token: true or false\n```\n\nConfiguration explanation\n\n| Parameters | Type | Description |\n| - | - | - |\n| issuer | string | The issuer address of the Authing application. |\n| client_id | string | Authing application ID. |\n| client_secret | string | Authing application secret key. |\n| flow | string | Login method, [Authorization code mode](https://docs.authing.cn/authentication/oidc/oidc-authorization.html#%E4%BD%BF%E7%94%A8%E6%8E %88%E6%9D%83%E7%A0%81%E6%A8%A1%E5%BC%8F-authorization-code-flow) or [implicit mode](https://docs.authing.cn/ authentication/oidc/oidc-authorization.html#%E4%BD%BF%E7%94%A8%E9%9A%90%E5%BC%8F%E6%A8%A1%E5%BC%8F-implicit-flow ), the optional value is `code` or `implicit`. The authorization code mode returns code, which can be exchanged for id_token, access_token and refresh_token. The implicit mode directly returns id_token and access_token, and refresh_token cannot be obtained. |\n| redirect_uri | string | Default callback address, the content can be any one of the callback addresses configured in the Authing console. If you do not specify the callback address when you initiate login, the callback will be called back to this address by default. |\n| refresh_token | boolean | Whether to return refresh_token. Only valid when flow is `code`, refresh_token is never returned when `implicit`. After enabling this option, the user needs to confirm the right after logging in each time. |\n\n## Deployment function\n\n- Execute commands on the command line\n\n```\n$ s deploy\n\n# Output information\nStart ...\nIt is detected that your project has the following project/projects \u003cAuthingDemo\u003e to be execute\nStart executing project AuthingDemo\n\n\n  You can configure the specified key in yaml. For example:\n\n  AuthingDemo\n    Component: fc\n    Provider: alibaba\n    Access: Fill in the specified key here\n\nStart the pre-hook\n[Hook / Plugin] npm install --production\nExecuting ...\nExecute:\nnpm WARN authing@0.0.1 No repository field.\nnpm WARN authing@0.0.1 No license field.\n\n\nEnd the pre-hook\nWaiting for service Authing to be deployed...\nService Authing deploy success\n\nWaiting for function Authing to be deployed...\nPacking...\nfile .s is ignored.\nPackage complete.\nFunction: Authing@Authing updating ...\nDeploy function Authing successfully\nfunction Authing deploy success\n\nTrigger: Authing@AuthingTriggerNameHttp deploying ...\nThis domain name is a temporary domain name. It is only used as a learning test and cannot be used in production environment.\n        TriggerName: TriggerNameHttp\n        Methods: GET,POST,PUT\n        Url: 37679582-********.test.functioncompute.com\n        EndPoint: https://********.cn-shenzhen.fc.aliyuncs.com/2016-08-15/proxy/Authing/Authing/\nTrigger: Authing@Authing-TriggerNameHttp deploy successfully\nStart deploying domains ...\nThis domain name is a temporary domain name. It is only used as a learning test and cannot be used in production environment.\nProject AuthingDemo successfully to execute\n\nAuthingDemo:\n  Service: Authing\n  Function: Authing\n  Triggers:\n    -Name: TriggerNameHttp\n      Type: HTTP\n      Domains:\n        -37679582-********.test.functioncompute.com\n```\n\n# Interface document\n\n## log in\n\nWhen you need to log in the user, let him click this link or redirect him to this address: `http://37679582-********.test.functioncompute.com/login`\n\n- Interface description: initiate login.\n- Interface address: GET /login\n\n| Parameters | Type | Required | Description |\n| ------------ | ------ | ---- | ----------- |\n| redirect_uri | string | No | The callback address after successful login, it is recommended to pass parameters, if not, the default authing.yml will be used. |\n\n\n## Use code to exchange token and user information\n\nAfter the user logs in, Authentication will return an authorization code code to the configured callback address. You need to call `http://37679582-********.test.functioncompute.com/code2token` this interface, Complete the code exchange token, token exchange user information operation.\n\n- Interface description: Use the authorization code code returned by Authing to exchange token and user information.\n- Interface address: GET /code2token\n\n| Parameters | Type | Required | Description |\n| ------------ | ------ | ---- | ----------- |\n| code | string | Yes | Authorization code code, in the form of a random string. |\n| redirect_uri | string | No | Callback address, it is recommended to pass parameters, if not, the default authing.yml is used. If the redirect_uri parameter is passed when calling the login interface, it must be passed here, and it needs to be the same as the one passed during login. |\n\n## Verify IdToken\n\nWhen a user accesses your protected business API, it is recommended to call this interface to verify the legitimacy of the user's identity.\n\n- Interface description: verify the legality of IdToken.\n- Interface address: POST /verify-id-token\n\n| Parameters | Type | Required | Description |\n| ------- | ------ | ---- | ------------ |\n| idToken | string | Yes | idToken content |\n\n## Verify AccessToken\n\n- Interface description: verify the legitimacy of AccessToken.\n- Interface address: POST /verify-access-token\n\n| Parameters | Type | Required | Description |\n| ------- | ------ | ---- | ------------ |\n| accessToken | string | yes | accessToken content |\n\n## Refresh Token\n\n- Interface description: verify the legitimacy of AccessToken.\n- Interface address: POST /refresh-token\n\n| Parameters | Type | Required | Description |\n| ------- | ------ | ---- | ------------ |\n| refreshToken | string | Yes | refresh_token content, returned by the `/code2token` interface. |\n| redirectUri | string | No | The callback address, it is recommended to pass parameters, if not, the default authing.yml is used. If the redirect_uri parameter is passed when calling the login interface, it must be passed here, and it needs to be the same as the one passed during login. |\n\n#### Sign out\n\n- Interface description: log out.\n- Interface address: GET /logout\n\n| Parameters | Type | Required | Description |\n| ------- | ------ | ---- | ------------ |\n| redirect_uri | string | No | The redirection address after logout, you can fill in at will. |","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fauthing%2Fauthing-alibaba-application","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fauthing%2Fauthing-alibaba-application","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fauthing%2Fauthing-alibaba-application/lists"}