I think that the problem is that cas didn't create document _design and views in the couchdb database. I tried to create them manually but it still doesn't work. Now error is: WARN [org.springframework.web.context.support.SpringBeanAutowiringSupport] - <Current WebApplicationContext is not available for processing of GoogleAuthenticatorCouchDbTokenRepository: Make sure this class gets constructed in a Spring web application after the Spring WebApplicationContext has been initialized. Proceeding without injection.>
So my question is: is there anyone using cas with 2FA with gfa and couchdb? Thanks in advance. Vittore. Il giorno ven 29 ott 2021 alle ore 20:54 Matthew Gordon <[email protected]> ha scritto: > In > support/cas-server-support-gauth-couchdb/src/main/java/org/apereo/cas/couchdb/gauth/token/GoogleAuthenticatorTokenCouchDbRepository.java > It tries to create the same View twice @ lines 33 & 110 I don't know if > that is why it fails to build that, but > support/cas-server-support-surrogate-authentication-couchdb/src/main/java/org/apereo/cas/couchdb/surrogate/SurrogateAuthorizationCouchDbRepository.java > does not have any duplicates and fails to create as well. > > /** > * Find all by uid, otp pair. > * > * @param uid uid to search > * @param otp otp to search > * @return token for uid, otp pair > */ > @View(name = "by_uid_otp", map = "function(doc) { if(doc.token && > doc.userId) { emit([doc.userId, doc.token], doc) } }") > public List<CouchDbGoogleAuthenticatorToken> findByUidForOtp(final > String uid, final Integer otp) { > val view = > createQuery("by_uid_otp").key(ComplexKey.of(uid.trim().toLowerCase(), > otp)); > return db.queryView(view, CouchDbGoogleAuthenticatorToken.class); > } > > The attached are what I interpreted the code was actually attempting to > do. So you should be able to load them in CouchDB manually, and try again. > > CouchDbGoogleAuthenticatorToken.txt -> Default Database: gauth_multifactor > CouchDbSurrogateAuthorization -> Default Database: surrogates > > Also the document format for surrogates is: > > { > "_id": "1ff83a3e2c19db3ed3c3300f0401a31e", > "_rev": "3-93412370e24c1980eea9b82a4579b041", > "principal": "userID", > "surrogate": [ > "surrogateUserYouWantToBe1", > "surrogateUserYouWantToBe2" > ] > } > > > Thank you, > Matt > On Friday, October 29, 2021 at 12:25:31 PM UTC-4 Matthew Gordon wrote: > >> Hello, >> >> I am also seeing this same issue on version 6.4.1 and greater. I did not >> try anything older. >> >> I am also seeing something similar with the CouchDb Surrogate >> Authentication module as well, so maybe there is something up with the >> CouchDb module in general. >> >> _design/CouchDbSurrogateAuthorization/_view/by_surrogate_principal does >> not exist >> >> Thank you, >> Matt >> >> On Thursday, October 28, 2021 at 5:11:30 AM UTC-4 Vittore Zen wrote: >> >>> Hi, >>> >>> I'm trying to set up google 2FA using couchdb. I have added to >>> build.graddle file: >>> implementation >>> "org.apereo.cas:cas-server-support-gauth:${project.'cas.version'}" >>> implementation >>> "org.apereo.cas:cas-server-support-couchdb-ticket-registry:${project.'cas.version'}" >>> implementation >>> "org.apereo.cas:cas-server-support-gauth-couchdb:${project.'cas.version'}" >>> >>> And in etc/cas/config/cas.properties file I have the following lines: >>> cas.ticket.registry.couch-db.db-name=cas >>> cas.ticket.registry.couch-db.password=my_pass >>> cas.ticket.registry.couch-db.url=http://localhost:5984 >>> cas.ticket.registry.couch-db.username=admin >>> cas.authn.mfa.gauth.couch-db.db-name=cas >>> cas.authn.mfa.gauth.couch-db.password=my_pass >>> cas.authn.mfa.gauth.couch-db.url=http://localhost:5984 >>> cas.authn.mfa.gauth.couch-db.username=admin >>> >>> When run "./gradlew clean copyCasConfiguration build run" in couchdb I >>> saw correctly db cas created, with two >>> document: CouchDbGoogleAuthenticatorAccount and TicketDocument >>> >>> But I get this error: >>> Current WebApplicationContext is not available for processing of >>> GoogleAuthenticatorCouchDbTokenRepository: Make sure this class gets >>> constructed in a Spring web application after the Spring >>> WebApplicationContext has been initialized. Proceeding without injection. >>> >>> Effectively in cas db there isn't a GoogleAuthenticatorCouchDbToken >>> document. >>> >>> Where is my mistake? What did I miss? >>> >>> Thanks in advance. >>> >>> v. >>> >>> -- - Website: https://apereo.github.io/cas - Gitter Chatroom: https://gitter.im/apereo/cas - List Guidelines: https://goo.gl/1VRrw7 - Contributions: https://goo.gl/mh7qDG --- You received this message because you are subscribed to the Google Groups "CAS Community" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/a/apereo.org/d/msgid/cas-user/CAO79vSAyfM9dUnB6VEiTEQyXf%2BwP2-qvJe%2BJ4U8xs89wsR4Ubg%40mail.gmail.com.
