WSO2 API Management resource owner authentication - wso2

It is possible to configure WSO2 API Manager to authenticate the user(resource owner) without IdentityServer?
For example need to return login form to authenticate the resource owner via Active Directory or other LDAP.

The API Manager has the same user authentication than all other WSO2 products using configured userstore.
Effectively you need to configure you userstore in the repository/conf/user-mgt.xml configuration

Related

How to allow access permission from wso2is to wso2api manager using ReadWriteLDAPUserStore

When i create user's roles in wso2 identity server and give some permissions to roles and then configure wso2is using ReadWriteLDAPUserStore with wso2 api manager or wso2 business server then in wso2is role's permissions not visible to wso2 api manager or wso2 business process server.
am using wso2is-5.3.0 and wso2am-2.5.0.
Role permissions are not stored in the user store. They're stored in the UM_DB. So you have to share that database among the 2 nodes.
On a related note: APIM 2.5.0 compatible IS version is 5.6.0.

How to authenication and Authorize End application users in wso2 api manager?

I wanted to do some POC for wso2 API manager where API Manager will expose login and registration url which will be called by UI layer but wanted to handle end user authorization and authentication
in API manager layer and don't want to handle this in database how can I do this i don't to use Identity server also.
I have gone through password grant_type tutorial and we can use this but how the authorization is going to performed?
Do we need to maintain user details in separate database or in identity server? if yes how this is going to happen.
I have gone through below questions but didn't get exact solution, please help me on this.
authorize user in wso2 api manager
wso2 api manager end-user
Thanks
how can I do this i don't to use Identity server also
By default you should be using the provided OAuth2 endpoints to authorize the users. However - the API Manager itselfs doesn't support self-registration and account verification.
I'd suggest to configure a WSO2 Identity Server as an APIM Key manager.
The WSO2IS has capability for self-registration and account verification.
The application or users will authenticate against the WSO2IS and the returned token will be valid for APIM (as the KeyManager shares the database with tokens).

How to implement OAuth2 authorization with WSO2 API Manager

I have created and published API with WSO2 API Manager. API client get access through OAuth2 and client credentials grant, sending consumer key and consumer secret to request access token. But now I need to implement authorization by means of authorization code grant. I have to use client_id and client_secret of WSO2 APIM and user login form of my backend application, not WSO2 APIM user.
Can anybody tell if it is possible and how it can be implemented???
Documentation of WSO2 does not describe this flow and all examples I have found describe authorization process (OAuth2, authorization_code) only for user of WSO2 APIM.
now I need to implement authorization by means of authorization code grant.
I have to use client_id and client_secret of WSO2 APIM and user login form of my backend application, not WSO2 APIM user.
If you want to use your own (application) authentication form, the simplest option is to leverage the password grant type where your application sends the token request along application and user credentials through a backend service
Using a code grant you suppose to use an authorization endpoint https://gateway:8243/authorize with parameters described in the documentation and indeed the default login form is used when the user is not yet authenticated
(I still have an urge to downvote the question for not searching the documentation)
If you still want to use the code grant type with your own authentication form, you may either customize the default logon form of the wso2 api gateway or customize an authenticator to use form of your application (this is quite advanced topic requiring configuring your own implementation and out of scope of the question/answer)
You have 2 options here without any customizations.
1) If your backend has a userstore, it can be configured as a secondary userstore for APIM. Then you can use any user in that userstore for authentication.
See https://docs.wso2.com/display/ADMIN44x/Configuring+Secondary+User+Stores
2) If above option is not possible, and if your backend IDP supports any federation SSO protocols such as SAML2 or OIDC, you can configure federation using WSO2 IS.
See https://docs.wso2.com/display/IS550/Single+Sign-On+and+Identity+Federation

WSO2 API Manager authentication through single page app

I am new to WSO2 API Manager. I have installed it to proxy my REST endpoints and to do access management via oAuth2.
Great! I managed to get access to my backend REST implementation through the oAuth2 process of API Manager (via API console). Now I want to setup the complete roundtrip starting from a user authentication process where identity is verified with corresponding roles. So...
Next I want to create a single page app and bring an authentication step by either redirect the user to a login page (authentication service) or let the user interact with single app page directly and let the single app page do the login to some authentication service.
Question:
Can I use the Key Manager component of the API Manager to handle user authentication (oAuth2 based) or do I need to install the WSO2 Identity Server to handle the authentication?
I see that WSO2 API Manager can host Users and Roles, a User Store and an endpoint to handle (authz) token requests, but can it also handle a login (authentication) request from my single app?
You can use APIM with OAuth2 Authorization code grant type. See this sample in identity server docs, but use below endpoints of APIM instead of IS endpoints.
https://localhost:8243/authorize
https://localhost:8243/token

Adding users to WSO2 Identity Server using SOAP API without specifying a password

We are using the WSO2 Identity Server SOAP API to add users. Is there way to add a user without specifying a password in the SOAP Envelope?
Users can login to WSO2 Carbon management console by providing username/password. Also external system can access admin services of Carbon server by providing username/password.
Is there any ways to extend the default authentication mechanism ?
Yes. WSO2 Carbon product provides an authentication framework that can be used to extend the different authentication mechanism. By default WSO2 Carbon product is shipped with several authenticators. Some authenitcators only use for access the admin service APIs. Some are only for access management console login….. You can find more details about WSO2 Authentication framework from here
Following are currently available authenticators
IWA Authenticator : Once user is login in to the windows server machine using windows authentication, User can seamlessly login to the WSO2 Carbon management console. WSO2 Carbon product must be configured with AD
SAML2 SSO Authenticator : Once user tries to access WSO2 Carbon management console, user would be redirected to configured IDP. User only provides credentials to the IDP and would be able to login to Carbon management console seamlessly. But here, IDP and WSO2 Carbon product must have the same user for authorization purpose. Therefore sometime, same user store can be shared with IDP and Carbon products.
WebSeal Authenticator : User has already login to WebSeal server, when user tried to login to Carbon management console. User can login seamlessly. But here, IDP and WSO2 Carbon product must have the same user for authorization purpose
Mutual SSL : This is not used to login to management console. But this is used to access Admin service APIs of Carbon server.
For more details, check here